2017-05-16 9 views

答えて

3

Rubyバージョン1.9では、キーがシンボルであるハッシュリテラルの新しい構文が導入されました。ハッシュはキーと値を分離するために、「ハッシュロケット」演算子を使用します:Ruby 1.9の中

a_hash = { :a_key => 'a_value' } 

この構文は有効ですが、キーはシンボルであるときはいつでも、それはとしてそれを書くこともできます:

a_hash = { a_key: 'a_value' } 

とRubyスタイルガイドが言うように、あなたのハッシュキーがシンボル(see)ているとき、あなたはRuby 1.9のハッシュリテラル構文を使用することを好む必要があります。

# bad 
hash = { :one => 1, :two => 2, :three => 3 } 

# good 
hash = { one: 1, two: 2, three: 3 } 

や追加などがヒント:Ruby 1.9のハッシュ構文と同じハッシュリテラルのハッシュロケットを混用しないでください。あなたがシンボルでないキーがハッシュロケット構文(see)に固執してしまったら:あなたがRubocop「道」あなたに何を見たい場合は

service 'apache' do 
    supports status: true, restart: true, reload: true 
end 

# bad 
{ a: 1, 'b' => 2 } 

# good 
{ :a => 1, 'b' => 2 } 

だから、あなたが試すことができますこれをコマンドラインで実行すると、警告またはフラグのコードのみが自動修正されます。

rubocop --only HashSyntax --auto-correct 
0
service 'apache' do 
    supports status: true, restart: true, reload: true 
end 

シンボルをキーとして使用すると、この新しい構文を使用できます。

関連する問題