提问人:Akshansh Gupta 提问时间:10/24/2015 更新时间:10/26/2015 访问量:1063
这里文档给出了 Ruby IO 中的 EOF 错误
Here document gives EOF error in Ruby IO
问:
以下代码给出了两个我无法解决的错误。任何帮助将不胜感激:
random.rb:10: can't find string "TEMPLATE" anywhere before EOF
random.rb:3: syntax error, unexpected end-of-input
法典:
id = 2
File.open("#{id}.json","w") do |file|
file.write <<TEMPLATE
{
"submitter":"#{hash["submitter"]}",
"quote":"#{hash["quote"]}",
"attribution":"#{hash["attribution"]}"
}
TEMPLATE
end
答:
2赞
cremno
10/24/2015
#1
从文档(强调我的):
heredoc 从以下行开始,以以
HEREDOC
开头的下一行结束<<HEREDOC
您的代码不包含以 开头的行。如果您的文本编辑器(或 IDE)在搜索中支持正则表达式,请尝试 。TEMPLATE
^TEMPLATE
您可以删除空格,或者如果要保留空格,请更改为 .添加 of 会指示 Ruby 解析器搜索(可能)预期的,就像您在代码中所做的那样。<<TEMPLATE
<<-TEMPLATE
-
TEMPLATE
评论
0赞
Akshansh Gupta
10/24/2015
非常感谢!实现更改后,代码工作正常。
评论
TEMPLATE