puts <<PARAGRAPH
There's somthing going on here.
With the PARAGRAPH thing
We'll be able to type as much as we like.
Even 4 lines if we want, or 5, or 6 .
PARAGRAPH
这可以使用Notepad ++
但为什么这不起作用?
puts <<PARAGRAPH
aaaa Aa
aaa
AA
PARAGRAPH
test.rb:1:语法错误,意外的tCONSTANT,期待$ end
谢谢!
答案 0 :(得分:2)
我的猜测是,在你的第二个片段中,PARAGRAPH
不在线的乞讨。
ruby中的多行字符串非常奇怪。终止字符(无论它可能是什么)必须是终止字符串的第一件事,否则你经常会看到语法错误。
答案 1 :(得分:1)
确保PARAGRAPH
(第二个实例)a)拼写与第一个实例相同,b)在行的开头,或将代码更改为:
def go
puts <<-PARAGRAPH # hyphen allows the end marker to be indented
Hi mom!
PARAGRAPH
end
有关详情,请参阅intro to Strings和full description。
答案 2 :(得分:1)
该代码适合我。我打破它的一种方法是在&lt;&lt;&lt;&lt;&lt;和PARAGRAPH
puts << PARAGRAPH
PARAGRAPH
这与下一个例子不同。
puts <<PARAGRAPH
PARAGRAPH
编辑:当我继续玩它时,我发现PARAGRAPH就像任何占位符一样。您可以执行以下操作,但仍会在字符串
中获得一个段落puts <<ANYTHING_YOU_WANT
ANYTHING_YOU_WANT
我觉得很酷,它不仅仅局限于PARAGRAPH这个词。我不知道。
答案 3 :(得分:0)
我可以通过在最终PARAGRAPH
之后添加额外的空格来获得任一版本的错误。
确保结束PARAGRAPH
确实在一个新行上(每个死亡三次回答)并且没有尾随字符(即空格,制表符等)