Jewel-mmo開発日記

RubyでMMORPGを作る過程を記録する日記。 Yokohama.rb 発起人。
2006-10-24

[Ruby] Symbol#to_proc を使ってみる

cars.each {|car| car.draw }

が次のように書ける。

cars.each &:draw

暗号っぽいけどどうかな。上記のようなケースで配列の全要素に対して任意のメソッドを適用する方法は前からほしかった。

今後はこの方法で書くと思う。今までなかったから違和感があるだけかも。最初は {|e| e... } だって記号に見えてなかなか理解できなかったわけだし。

今はこう唱えてるけど、将来は標準になる模様。

class Symbol
  def to_proc
    Proc.new { |obj, *args| obj.send(self, *args) }
  end
end