Acabei de aprender algumas coisas novas sobre os três iguais de ruby. Veja:
even = ->(x){ (x % 2) == 0 }
even.call(2) # => true
even.call(3) # => false
even === 2 # => true
even === 3 # => false
Uma vez que case
ele implementa as três qualidades, podemos usar este lambda como um predicado.
case num
when even then puts "Even"
else puts "Odd"
end
Thx RubyTapas 🙂