What do you call the -> operator in Ruby? What do you call the -> operator in Ruby? ruby ruby

What do you call the -> operator in Ruby?


In Ruby Programming Language ("Methods, Procs, Lambdas, and Closures"), a lambda defined using -> is called lambda literal.

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

The code is equivalent to the following one.

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

Informally, I have heard it being called stabby lambda or stabby literal.


=> == Hash Rocket

Separates keys from values in a hash map literal.


-> == Dash Rocket

Used to define a lambda literal in Ruby 1.9.X (without args) and Ruby 2.X (with args). The examples you give (->(x) { x * 2 } & lambda { |x| x * 2 }) are in fact equivalent.


Lambda rocket

I got that from this article.But first a google search forruby lambda shorthandhttp://ruby-journal.com/becareful-with-space-in-lambda-hash-rocket-syntax-between-ruby-1-dot-9-and-2-dot-0/