Oh my, this one really got me, lambdas in case statements:

n = rand(1..10)

case n
when lambda { |x| x.even? }
puts "#{n} is even"
else
puts "#{n} is odd"
end

You can even use the proc-symbol shorthand

n = rand(1..10)

case n
when lambda(&:even?)
puts "#{n} is even"
else
puts "#{n} is odd"
end

You can use stabby lambdas too:

n = rand(1..10)

case n
when -> (n) { n.even? }
puts "#{n} is even"
else
puts "#{n} is odd"
end