"==="は一般には"=="のエイリアスですがProcの場合はcallのような役割を果たします
:to_i.to_proc === "21"
これを生かすと、case文を以下のような感じで書く事ができます
p mu #<MyUnit:0x007f963ab80330 @power=12, @speed=4, @hp=100> def strong? proc {|i| i.power > 15} end case mu when strong? ##something else ##something end
また、以前の記事で
class UltimateQuestion def self.=== a a == 42 ? true : false end end
なんて書き方をした物も単にメソッドで
def ultimateQuestion proc {|i| i == 42} end
と書いてあげるだけで済みます
この例だと値を参照するだけなので旨味がイマイチですが
複雑な事をするときは使い手がありそうです