ブロックと proc(Ruby)

ひとつのメソッドでブロックを使っても、 proc を引数にしても実行できる。

def output(&bk)
  bk.call
end

output {puts "test1"}

a = proc {puts "test2"}
output(&a)

bk.callyield でもいい。