就像是:
- def foo(&b1,&b2)
- b1.call
- b2.call
- end
- foo() { puts "one" } { puts "two" }
解决方法
您不能以这种方式传递多个块,但您可以传递多个
proc
或lambda对象:
- irb(main):005:0> def foo(b1,b2)
- irb(main):006:1> b1.call
- irb(main):007:1> b2.call
- irb(main):008:1> end
- => nil
- irb(main):009:0> foo(Proc.new {puts 'one'},Proc.new {puts 'two'})
- one
- two
- => nil
- irb(main):010:0>