2010-08-24 18 views

Antwort

13

Sie nicht mehr Blöcke in dass Weg passieren kann, aber man kann Pass mehr proc oder lambda Objekte:

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> 
+1

Ok ich sehe. Ich könnte auch Lambda {puts "bla"} nehmen, nehme ich an. Ich denke, die Quintessenz ist, dass ich höchstens einmal in einer Methodendefinition & blockieren kann. Vielen Dank. – rui

1

Syntax ist viel netteres in Ruby 1.9:

foo ->{puts :one}, ->{puts :two}