variable rails for example def and ruby-on-rails ruby operators symbols hashrocket

ruby-on-rails - rails - ruby if and



En Ruby, ¿qué significa "=>" y cómo funciona? (5)

Además de En Ruby, ¿qué significa "=>" y cómo funciona? :

En su mayoría verá el => para definir parámetros para una función. Piense en esto como una buena conveniencia: no necesita recordar el orden correcto de sus parámetros, ya que todos los parámetros están envueltos en un hash gigante. Entonces, si tienes un método simple de ayuda como

link_to "My link", my_path, :confirm => "Are you sure?"

esto es mucho mejor que

link_to "My link", my_path, null, null, null, null, "Are you sure?"

solo porque quiere usar un parámetro poco utilizado. Por lo tanto, pasar los parámetros con un hash es solo una convención en Ruby / Rails para facilitar la vida.

Esta pregunta ya tiene una respuesta aquí:

Mientras aprendía Ruby, me encontré con el operador "=>" ocasionalmente. Por lo general, lo veo en forma de

:symbol => value

y parece ser usado frecuentemente al pasar valores a funciones. ¿Cómo se llama exactamente ese operador? ¿Qué significa / significa? ¿Está integrado en Ruby o es algo que marcos diferentes como Rails y DataMapper agregan a la clase de símbolo? ¿Se usa solo junto con la clase de símbolo? Gracias.



Si quieres hacer más Google, => veces se llama hashrocket, porque parece un cohete (en el mismo sentido que <=> parece una nave espacial), y se usa en hashes.

O podrías usar SymbolHound .


Sugerencia: si lo está usando en un hash como {:a => "A", :b => "B"} , en Ruby 1.9, puede usarlo como un hash JSON:

{ a: "A", b: "B" }


=> separa las claves de los valores en un literal hashmap. No se puede descargar y no está específicamente conectado a símbolos.

Un hashmap literal tiene la forma {key1 => value1, key2 => value2, ...} , pero cuando se usa como el último parámetro de una función, puede dejar las llaves. Entonces, cuando ve una llamada de función como f(:a => 1, :b => 2) ,: f(:a => 1, :b => 2) , f se llama con un argumento, que es un hashmap que tiene las teclas :a y :b y los valores 1 y 2 .