创建ruby字符串的不同方法

创建ruby字符串的不同方法,ruby,string,Ruby,String,我见过几次,但从未真正理解过。有人能给我解释一下这个语法是如何创建字符串的吗 STRING = <<-EOS This is a string!! EOS puts STRING => "This is a string!!" STRING=它被称为一个herdeoc,这个特性内置于解析器中 您可以将EOS更改为所需的任何字符串。这样做的原因是,如果出于某种原因必须在字符串中添加单词EOS(或引号),则可以为字符串末尾选择一个方便的信号,该信号不会出现在字符串中,因此不必转

我见过几次,但从未真正理解过。有人能给我解释一下这个语法是如何创建字符串的吗

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

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

STRING=它被称为一个herdeoc,这个特性内置于解析器中


您可以将
EOS
更改为所需的任何字符串。这样做的原因是,如果出于某种原因必须在字符串中添加单词
EOS
(或引号),则可以为字符串末尾选择一个方便的信号,该信号不会出现在字符串中,因此不必转义字符串中的任何内容。

为了扩展Ken所说的内容,许多语言中都使用了heredocs,包括shell和Perl。它们可以作为模板非常强大,因为您可以在其中嵌入变量,类似于常规字符串,使快速构建格式化文本变得非常容易。thx,很好的解释!库鲁米的文档链接为我解释了这一切