&block でブロックを受けるメソッドの振る舞い
なんで?常識?理屈が分からない・・
1.8.7で調べてみたら、どうやら特異メソッドかどうかで振る舞いが違うらしいっす。
irb(main):001:0> def foo(&block) irb(main):002:1> end => nil irb(main):003:0> foo{ puts "A" } => nil irb(main):004:0> irb(main):005:0* irb(main):006:0* irb(main):007:0* def self.bar(&block) irb(main):008:1> end => nil irb(main):009:0> bar{ puts "A" } => #<Proc:0x0006ccdc@(irb):9> irb(main):010:0>