variable objects for example ruby syntax

objects - ¿Cómo llamas al operador-> en Ruby?



ruby>= (3)

  1. ¿Cómo se llama el operador -> como se muestra a continuación?

    ->(...) do ... end

  2. ¿Los siguientes fragmentos no son equivalentes?

    succ = ->(x) {x + 1} succ = lambda {|x| x + 1}


=> == Hash Rocket

Separa claves de valores en un hash map literal.

-> == Dash Rocket

Se usa para definir un literal lambda en Ruby 1.9.X (sin args) y Ruby 2.X (con args). Los ejemplos que das ( ->(x) { x * 2 } y lambda { |x| x * 2 } ) son de hecho equivalentes.



En Ruby Programming Language ("Métodos, Procs, Lambdas y Cierres"), una lambda definida usando -> se llama literal lambda .

succ = ->(x){ x+1 } succ.call(2)

El código es equivalente al siguiente.

succ = lambda { |x| x + 1 } succ.call(2)

Informalmente, he oído que se llama stabby lambda o stabby literal .