ruby - ¿Hash Rocket está en desuso?
syntax ruby-1.9 (1)
El puesto de cohete RIP Hash bien citado parece implicar que la sintaxis de Hash Rocket ( :foo => "bar"
) está en desuso en favor del hash de estilo JSON nuevo-a-Ruby ( foo: "bar"
), pero yo no se puede encontrar ninguna referencia definitiva que indique que el formulario Hash Rocket está en desuso / desaconsejado a partir de Ruby 1.9.
El autor de esa publicación de blog es demasiado dramático y tonto, el =>
sigue still quite necessary . En particular:
- Debe usar el cohete para los símbolos que requieren citar::
:''where.is'' => x
es válido pero''where.is'': x
no lo es. Ruby 2.2 ha solucionado este problema por lo que puedes decir''where.is'': x
en Ruby 2.2+. - Debe usar el cohete para símbolos que no son etiquetas válidas
:$set => x
es válido pero$set: x
no. En Ruby 2.2+ puede solucionar este problema con comillas:''$set'': x
hará Lo correcto. - Debe usar el cohete si usa claves en sus Hashes que no son símbolos:
''s'' => x
es válido pero''s'': x
es algo completamente diferente.
Por supuesto, puedes evadir todo lo anterior de la manera siguiente:
h = { }
h[:''where.is''] = ''pancakes house?''
# etc.
pero eso es feo e innecesario.
El cohete no irá a ningún lado sin paralizar los Hashes de Ruby.