1
使用以下
a = proc { puts 'hii' }
def abc(&a)
a.call
end
abc(&a)
def xyz(c)
c.call
end
xyz(a)
差が実装以下では、複数のブロックを引数として渡すことができるものである - において
def pqr(c, &t)
c.call
yield
xyz(c)
abc(&t)
end
pqr(a) { puts 'block to method'}
上記の両方は、最初のケースでは「実際のブロックがメソッドに渡され」、2番目のケースでは「ブロックが引数として渡されます」と同じではありません。 2番目は 'ArgumentError:引数の数が間違っています(1の場合は1)'を引き上げるべきです。 –
良い点。答えを編集する。 – Linuxios