Le bien cité RIP Hash rocket post semble impliquer la syntaxe de Hash Rocket (:foo => "bar"
) est déconseillé au profit du nouveau hachage de style JSON Ruby (foo: "bar"
), mais je ne trouve aucune référence définitive indiquant que le formulaire Hash Rocket est en fait obsolète/déconseillé à partir de Ruby 1.9.
L'auteur de ce billet de blog est trop dramatique et stupide, le =>
est encoretout à faitnécessaire . En particulier:
:'where.is' => x
est valide mais 'where.is': x
n'est pas. Ruby 2.2 a corrigé ce problème afin que vous puissiez dire 'where.is': x
in Ruby 2.2+.:$set => x
est valide mais $set: x
n'est pas. Dans Ruby 2.2+, vous pouvez contourner ce problème avec des guillemets: '$set': x
fera la bonne chose.'s' => x
est valide mais 's': x
est quelque chose de complètement différent.Vous pouvez bien sûr contourner ce qui précède de la manière la plus évidente:
h = { }
h[:'where.is'] = 'pancakes house?'
# etc.
mais c'est tout simplement laid et inutile.
La fusée ne va nulle part sans paralyser les hachages de Ruby.