Другой способ создания рубиновых строк - PullRequest
2 голосов
/ 07 апреля 2011

Я сталкивался с этим несколько раз, но никогда не понимал этого. Может кто-нибудь объяснить мне, как этот синтаксис создает строку?

STRING = <<-EOS
This is a string!!
EOS

puts STRING
=> "This is a string!!"

Сначала я подумал, что в <<-EOS есть что-то особенное, но на самом деле он работает с любым символом. <<x например тоже работает

Может кто-нибудь объяснить мне, что именно означает этот синтаксис? И как получается, что строка создается?

1 Ответ

9 голосов
/ 07 апреля 2011

Это называется heredoc, и эта функция встроена в анализатор.

Вы можете изменить EOS на любую нужную вам строку.Причина этого в том, что если по какой-то причине вам необходимо вставить слово EOS (или кавычку) в строку, вы можете выбрать удобный сигнал для конца строки, который также не отображается в строке.строка, поэтому вам не нужно ничего экранировать в строке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...