Lambda
Lambdas are anonymous functions. You can define them and hold them in variables.
Here is how to define them:
lam = -> {puts "hello"}
lam.call # => hello
lam2 = -> (x){puts x}
lam2.call("frank") # => frank
If you define your lambda as below you can call it in more ways.
other_lam = lambda{puts "foo"}
other_lam.call # => foo
other_lam.() # => foo
other_lam.=== # => foo
other_lam.[] # => foo