code = <<-code
if val == true:
print "...."
code
print code
我对此感到困惑但后来我仔细观察了一下。所以它只是将代码分配给变量。我用google搜索但没有发现任何东西。
那么什么是“&lt;&lt; -string”运算符在ruby中调用。
答案 0 :(得分:4)
这是ruby中的heredoc运算符。
默认情况下,HereDoc终结符应放在单独行的最开头
通过在HereDoc声明中使用-
,您可以任意缩进结束终止符:
greeting = <<-"here document ends"
Hello world
here document ends
请记住保留前导空格。
答案 1 :(得分:0)
这是“here document”或“heredoc”。
从文档中: 如果您正在编写大块文本,可以使用“here document”或“heredoc”:
expected_result = <<HEREDOC
This would contain specially formatted text.
That might span many lines
HEREDOC
heredoc开始于&lt;
您可以使用带有heredoc的任何标识符,但通常使用全大写标识符。
如果在&lt;&lt;:
之后放置“ - ”,则可以缩进结束标识符 expected_result = <<-INDENTED_HEREDOC
This would contain specially formatted text.
That might span many lines
INDENTED_HEREDOC
有关详细信息,请参阅HereDoc @ ruby-doc.org