to_proc
to_procメソッドがあるオブジェクトならば、手続きオブジェクトとしてメソッドに渡すことができます。to_procメソッドはProcオブジェクトを返します。
class Rubyco def to_proc return proc {|k| print "#{k} (#{k.class}), " } end end class Array def my_each for e in self yield(e) end end end def print_them(a) a.my_each(&Rubyco.new) print "\n" end print_them([100, 200, 300]) # => 100 (Fixnum), 200 (Fixnum), 300 (Fixnum), print_them([123, 3.14, "Hello", 1234567890]) # => 123 (Fixnum), 3.14 (Float), Hello (String), 1234567890 (Bignum),