ruby syntax hash ruby-1.9 hashrocket

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:

  1. 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+.
  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.
  3. 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.