< - Ruby Strings叫什么?我如何在其中插入变量?

时间:2011-08-05 04:28:23

标签: ruby heredoc

<--似乎在网上无法搜索,所以不得不在这里提出问题。

他们的可搜索名称是什么,以及如何在线添加变量?

3 个答案:

答案 0 :(得分:8)

该语法用于声明此处的文档 http://www.ruby-doc.org/docs/ruby-doc-bundle/Manual/man-1.4/syntax.html#here_doc

  

通常有一种以字面为导向的字符串文字形式   称为“here document”。在&lt;&lt;&lt;&lt;你可以指定一个字符串或   用于终止字符串文字的标识符,以及后面的所有行   到终结符的当前行是字符串的值。如果   引用了终结符,引号的类型决定了它的类型   面向行的字符串文字。请注意,必须没有空格   之间&lt;&lt;和终结者。

     

如果 - 在分隔符之前放置,那么所有领先的whitespcae   字符(制表符或空格)从输入行和行中删除   包含分隔符。这允许脚本中的文档   以自然的方式缩进。

关于插值,链接提供了更多细节,但如果您的字符串如下所示分隔,则它就像一个双引号字符串(忽略此页面的颜色格式)

<<-HERE
   I can interpolate #{foo}
HERE

而它就像一个单引号字符串

<<-'HERE'
 This will print out #{foo} as text
HERE

原始镐也是一个很好的来源http://www.ruby-doc.org/docs/ProgrammingRuby/html/language.html

答案 1 :(得分:2)

<<-FOO是此处的文件。你可以read more about them here

定期插值也适用于此处的文档。

str = <<-STR
  #{foo}
STR

答案 2 :(得分:0)

<<HEREDOC
This is like a double quoted string
Interpolation happens here. #{1+2}
Backslashes are interpreted as escapes. \a\t
HEREDOC

http://jeff.dallien.net/posts/optional-behavior-for-ruby-heredocs