<--
似乎在网上无法搜索,所以不得不在这里提出问题。
他们的可搜索名称是什么,以及如何在线添加变量?
答案 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)
答案 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