我正在使用以下代码遇到此语法错误,但我不知道为什么ruby抱怨它。
def user_list
server = Lumberg::Whm::Server.new(
host: "localhost",
hash: IO.read("/root/.accesshash")
)
results = server.account.list
accounts = result[:params][:acct].map {|a| a["user"] }
end
end
语法错误如下:
# bundle exec bin/userscan
bin/userscan:3:in `require': /usr/src/userscan/lib/userscan.rb:131: syntax error, unexpected ':', expecting ')' (SyntaxError)
host: "localhost",
^
/usr/src/userscan/lib/userscan.rb:131: syntax error, unexpected ',', expecting kEND
/usr/src/userscan/lib/userscan.rb:133: syntax error, unexpected ')', expecting kEND
from bin/userscan:3
据我所知,它抱怨的部分应该没问题。显然,分号实际上应该在那儿,并且括号应该包含这两行的全部。我已经玩了一段时间,但是我只是让它变得更糟而不是变得更好。
我在这里弄糟的任何帮助将不胜感激。
该语法host: ".."
是ruby 1.9的新功能。如果使用的是ruby 1.8,则必须使用旧语法:
server = Lumberg::Whm::Server.new(
:host => "localhost",
:hash => IO.read("/root/.accesshash") )
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句