In der Ruby-Version 1.9 wurde eine neue Syntax für Hash-Literale eingeführt, deren Schlüssel Symbole sind. Hashes verwenden, um die „Hash-Rakete“ Bediener den Schlüssel und den Wert zu trennen:
a_hash = { :a_key => 'a_value' }
In Ruby 1.9 diese Syntax ist gültig, aber immer dann, wenn der Schlüssel ein Symbol ist, es ist auch möglich, es so zu schreiben:
a_hash = { a_key: 'a_value' }
Und als der Führer Ruby-Stil sagt, sollten Sie es vorziehen, die Ruby 1.9 Hash Literalsyntax wenn Ihre Hash-Schlüssel Symbole (see) sind zu verwenden:
# bad
hash = { :one => 1, :two => 2, :three => 3 }
# good
hash = { one: 1, two: 2, three: 3 }
Und als zusätzliches Tipp: Mischen Sie die Hash-Syntax von Ruby 1.9 nicht mit Hash-Raketen im selben Hash-Literal. Wenn Sie Schlüssel haben, die nicht Symbole halten Sie sich an die Hash-Raketen Syntax (see):
# bad
{ a: 1, 'b' => 2 }
# good
{ :a => 1, 'b' => 2 }
So können Sie versuchen, mit:
service 'apache' do
supports status: true, restart: true, reload: true
end
Wenn Sie sehen wollen, was die Rubocop „Weg“ ist Sie kann dies in der Befehlszeile ausführen, wird dies Ihren Code nur für die HashSyntax
Warnungen oder Flags:
rubocop --only HashSyntax --auto-correct
automatisch Autokorrektur