2013-08-03 65 views
-3

這裏是我的代碼(它的全部):奇數名單上非常基本的腳本

require "rubygems" 
require "ruby-box" 

安裝RubyGems和紅寶石箱裝的寶石。這是我的錯誤:

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 
+0

使用更新的Ruby。 –

+0

你的問題是什麼? – sawa

回答

3

它看起來像你使用Ruby 1.8,但正在嘗試使用在Ruby 1.9中添加的哈希文字語法:

{ foo: bar } 

在Ruby 1.8,你需要寫:

{ :foo => bar } 

但如果你是剛剛開始,我建議你只需升級你的Ruby版本,而不是重寫代碼。

請注意,如果散列是方法調用的參數,則大括號有時會被忽略。

+0

你誤會了;我上面粘貼的兩行代碼,require行,這就是我所有的代碼。也許散列文字在ruby-box庫裏面。 – Andrew

+0

@Andrew他們是,如錯誤所示。 –

+0

那麼,你唯一的選擇就是升級你的Ruby。 – Thomas