Ruby 非常基本的脚本上哈希的奇数列表

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/

以下是我的代码(全部代码):

安装了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/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 }