以下の内容はhttps://shuzo-kino.hateblo.jp/entry/2014/10/06/235329より取得しました。


caseの条件式にprocを渡す

"==="は一般には"=="のエイリアスですが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 

と書いてあげるだけで済みます

この例だと値を参照するだけなので旨味がイマイチですが
複雑な事をするときは使い手がありそうです




以上の内容はhttps://shuzo-kino.hateblo.jp/entry/2014/10/06/235329より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14