Rubyリファレンス: Home

to_proc (Symbol)

Edit   History

Ruby 1.8.7 Ruby 1.9

標準クラス・モジュール > Symbol > to_proc

sym.to_proc

to_procメソッドは、シンボルと同名のメソッドを使う手続きオブジェクト(Proc)を作成して返します。手続きオブジェクトは、Proc.new {|obj, *args| obj.send(sym, *args) }と同じようなものになります。

prc = :to_i.to_proc
p prc.call("ff", 16)
255

Rubyではメソッド呼び出しの引数に「&手続きオブジェクト」を渡すと、手続きオブジェクトをブロックとして渡すことができます。Ruby 1.8.7以降では「&シンボル」を渡すと、「シンボル.to_proc」をブロックとして渡すことができます。

# p ["12", "34", "56"].collect {|s| s.to_i } と同じ
p ["12", "34", "56"].collect(&:to_i)
[12, 34, 56]