-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.请帮忙.
#用于字符串插值,但仅限于适当的字符串文字:
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)
您的编辑应该能够相应地突出显示它:

要"修复"它,请使用:
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).