Lambda argument passing shorthand
Suppose that I have a Ruby lambda like so:
greeting = -> name { "Hello #{name}" }
The conventional way of calling this lambda is like so:
greeting.call("Ned") # "Hello Ned"
However, for those of you dreading having to type in call
(hello, JavaScript developers), you can use this syntactic sugar instead:
greeting["Ned"]
greeting.("Ned")
Source: https://stackoverflow.com/questions/18774139/how-works-with-lambdas
UPDATE
I am now a sad panda to learn that this shorthand syntax is not recommended in the ruby-style-guide: https://github.com/bbatsov/ruby-style-guide/issues/205 https://github.com/bbatsov/ruby-style-guide/blob/master/README.md#proc-call
It’s still a cool learning for me to know that this syntax exists in the first place, though.
Written on September 14, 2017 by evanbrodie