我遇到过几次,但从未真正理解它。谁能给我解释一下这种语法是如何创建字符串的?
STRING = <<-EOS
This is a string!!
EOS
puts STRING
=> "This is a string!!"
起初我认为 <<-EOS
有一些特别之处,但它实际上似乎适用于任何字符。 <<x
例如也有效
谁能给我解释一下这个语法到底是什么意思?字符串是如何创建的?
最佳答案
它称为 heredoc,此功能内置于解析器中。
您可以将 EOS
更改为您想要的任何字符串。这样做的原因是,如果您出于某种原因必须在字符串中放置单词 EOS
(或引号),您可以为字符串的末尾选择一个方便的信号,而不是' t 也出现在字符串中,因此您不必对字符串中的任何内容进行转义。
关于ruby - 创建 ruby 字符串的不同方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5582196/