Ruby threequals & Proc

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 caseele 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 🙂