ruby operators <, >, === etc.
ruby -v 2.2.2
Different implementations of some of these operators can be used to do some cool things.
The #< implementation on Module for example.
> Module < BasicObject
=> true
> Object < Class
=> false#== and #=== are implemented the same on Fixnum or BigDecimal, but on Module
> a === bevaluates to true if b is an instance of a or a's descendants
> (1..10) === 5
=> true
> 5 === (1..10)
=> false
> 'str' === String
=> false
> String === 'str'
=> trueThis is the case-equality operator and this behavior can be overridden to customize case statements. An example of overriding.
class Range
  def ===(o)
    puts 'nope sucka'
  end
end
case 5
when(1..10)
'This would normally work'
else
end=> nope sucka