Ruby意外关键字结束

-1 ruby

我有代码:

results = ["http://www.google.com", "http://www.yahoo.com.uk"]

results.each do |results| 
  File.open("#{results}.html", "w") do |file|
    file.write(RestClient.get(#{result}))
  end
end
Run Code Online (Sandbox Code Playgroud)

当我运行该程序时,它给了我一个错误:

syntax error, unexpected keyword_end, expecting ')'
Run Code Online (Sandbox Code Playgroud)

我有两个do和两个end-s.请帮忙.

Ste*_*fan 6

#用于字符串插值,但仅限于适当的字符串文字:

File.open("#{results}.html", "w")
#          ^^^^^^^^^^
#          string interpolation
Run Code Online (Sandbox Code Playgroud)

在字符串之外,#开始评论:

file.write(RestClient.get(#{result}))
#                         ^^^^^^^^^^^
#                         comment
Run Code Online (Sandbox Code Playgroud)

您的编辑应该能够相应地突出显示它:

vim截图

要"修复"它,请使用:

file.write(RestClient.get(result))
Run Code Online (Sandbox Code Playgroud)

顺便说一下,你的代码中还有另一个拼写错误:

results.each do |results|
Run Code Online (Sandbox Code Playgroud)

应该:

results.each do |result|
Run Code Online (Sandbox Code Playgroud)

result然后引用results数组中的单个元素(仔细检查你的代码是否result相对results).

  • @HenryChan如果您的问题是关于"意外关键字结束"的问题已得到解答,但您需要进一步帮助解决代码中的_other_,无关问题,请通过"提问"而不是在评论中发布新的具体问题.如果合适,从一个问题链接到另一个问题,甚至两个方面. (2认同)