Ruby 非常基本的脚本上哈希的奇数列表
以下是我的代码(全部代码): 安装了rubygems,ruby box作为宝石安装。这是我的错误:Ruby 非常基本的脚本上哈希的奇数列表,ruby,rubygems,Ruby,Rubygems,以下是我的代码(全部代码): 安装了rubygems,ruby box作为宝石安装。这是我的错误: Faraday: you may want to install system_timer for reliable timeouts /Library/Ruby/Site/1.8/rubygems/core_ext/kernel_require.rb:45:in `gem_original_require': /Library/Ruby/Gems/1.8/gems/ruby-box-1.9.1/
Faraday: you may want to install system_timer for reliable timeouts
/Library/Ruby/Site/1.8/rubygems/core_ext/kernel_require.rb:45:in `gem_original_require': /Library/Ruby/Gems/1.8/gems/ruby-box-1.9.1/lib/ruby-box/item.rb:91: odd number list for Hash (SyntaxError)
access: 'open'
^
/Library/Ruby/Gems/1.8/gems/ruby-box-1.9.1/lib/ruby-box/item.rb:91: syntax error, unexpected ':', expecting '}'
access: 'open'
^
/Library/Ruby/Gems/1.8/gems/ruby-box-1.9.1/lib/ruby-box/item.rb:92: syntax error, unexpected '}', expecting kEND
}.merge(opts) if opts
^
/Library/Ruby/Gems/1.8/gems/ruby-box-1.9.1/lib/ruby-box/item.rb:102: odd number list for Hash
shared_link: opts
^
/Library/Ruby/Gems/1.8/gems/ruby-box-1.9.1/lib/ruby-box/item.rb:102: syntax error, unexpected ':', expecting '}'
shared_link: opts
^
from /Library/Ruby/Site/1.8/rubygems/core_ext/kernel_require.rb:45:in `require'
from /Library/Ruby/Gems/1.8/gems/ruby-box-1.9.1/lib/ruby-box.rb:4
from /Library/Ruby/Site/1.8/rubygems/core_ext/kernel_require.rb:110:in `gem_original_require'
from /Library/Ruby/Site/1.8/rubygems/core_ext/kernel_require.rb:110:in `require'
from box.rb:2
看起来您正在使用Ruby 1.8,但正在尝试使用Ruby 1.9中添加的哈希文本语法:
{ foo: bar }
在Ruby 1.8中,您需要编写:
{ :foo => bar }
但如果您刚刚开始,我建议您只需升级Ruby版本,而不是重写代码
请注意,如果散列是方法调用的参数,则大括号有时会被省略。您误解了;上面我粘贴的两行代码,require行,这就是我所有的代码。也许散列文本在ruby box库中。@Andrew,正如错误所示,它们在。那么,您唯一的选择就是升级ruby。如何升级ruby?我在mac电脑上,尝试了这里的说明,但它仍然给了我相同的错误,我建议你像那个问题的答案一样使用RVM,更多细节请参阅RVM文档。一旦你安装了Ruby,你需要告诉RVM默认使用它,并且可能需要重新启动你的终端。你的问题是什么?
{ :foo => bar }