にリファクタリングする必要があります新しい構文がどのように見えるのか...誰でも助けてくれますか?は、私はリントテストを失敗して、次のコードを持っているレシピを持っている新しいRuby 1.9のハッシュ構文
1
A
答えて
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
シンボルをキーとして使用すると、この新しい構文を使用できます。
関連する問題
- 1. 私は古い構文では、次のしているRuby 1.9のハッシュ
- 2. Rubyは私が次のコードを持っている機能
- 3. シェフのレシピ - 属性私は、次のコードを持っているシェフのレシピで
- 4. Perlの - 私は次のコードを持っているハッシュ
- 5. 私はserverspecレシピで次のテストを持っているserverspec
- 6. 私はハッシュを持っているハッシュ
- 7. Djangoは、私は新しいJSONFieldとDjangoの1.9を実行して、次のテストモデルを持っているdicts
- 8. は、私は、次のコードを持っている文字列
- 9. 私は、私は次の行を持っているメイクファイルを、持っている
- 10. はい、私は次のHTMLコード/構造持って、私はテーブル
- 11. は、私は次のコードを持っているScalaの表記構文
- 12. htaccessファイルは、私は次のコードを持っている新しいURL
- 13. 私は次のコードを持っている文字列
- 14. 私は次のコードを持っている文字列
- 15. コードは、私は次のコードを持っている別の1
- 16. 私は一度ログインし、次のコードを持っている
- 17. Angular2コードは、私は次のコードを持っているインラインテンプレートエラーに
- 18. 私は、ユーザー名と価格を持っているハッシュの配列を持っていると私は、ハッシュの配列を持っている
- 19. 私は次の式を持っているテキストフィールドを持っている
- 20. 、私は次のコードを持っているすべてのインスタンスメソッドパターン
- 21. 間違い、私は次のコードを持っているのjava
- 22. Firebase私はFirebaseを使用して、次のように多対多の関係では「カテゴリ」と「レシピ」を持っているリレーショナル構造、持ってい
- 23. は、私は次のプログラムを持って新しいもの
- 24. 数($ nameArrayは)私は、次のコードを持って正しい値
- 25. jQueryのslidetoggleは、私は次の構造を持っている
- 26. IOSは、私は、ビューの次の構造を持っている
- 27. は、私は次のプロジェクト構造を持っているEclipseの
- 28. は、私は、次のURL構造を持っているのindex.php
- 29. は、私は次のディレクトリ構造を持っている別の
- 30. 私は次のコードを持っている私のルートユーザーディレクトリ