ブロックを渡すようなメソッドは、Procオブジェクトを引数として渡すことも出来ます。 普通にブロックを渡すとこんな感じ。 hoge = %w(foo bar piyo) hoge.each do |val| puts val end これをProcオブジェクトを引数として渡すとこんな感じになります。 hoge = %w(foo bar piyo) block = Proc.new {|val| puts val } hoge.each &block Procオブジェクトを格納した変数を引数として渡す時に、先頭に「&」をつけると、渡すことができます。 これだけだと、あんまり利用価値が無さそうに思いますが、応用するとかなり便利です。 シンボルの先頭に「&」をつける 引数の先頭に「&」をつけると、Procオブジェクト以外の場合は渡ってきた値に対して「to_proc」メソッドを呼び出した結果が実行