web-dev-qa-db-ja.com

Rubyのハッシュ構文

十分に根拠のあるRubyistによると:

Rubyでは、ハッシュキーの位置に特別な形式の記号表現を使用できます。記号の前ではなく記号の後のコロンと、ハッシュ区切り記号の矢印が削除されます。言い換えれば、これは:

hash = { :name => "David", :age => 49 }

次のように書くこともできます:

hash = { name: David, age: 49 }

Ruby 1.8.7および1.9.2-それは機能していません。何が間違っているのですか?

23
grigoryvp

Ruby 1.9の新しいハッシュ構文では、文字列を引用符で囲む必要があるため、Davidの代わりに"David"が必要です。

これを試して:

hash = { name: "David", age: 49 }

本が引用符なしで裸の単語Davidを使用した場合、それは間違っています。 その他の正誤表 のいくつかを読むことに興味があるかもしれません。

39
meagar