ruby中的lambda,proc,方法或其他类型的块可能产生另一个块吗?
就像是…
就像是…
a = lambda { puts 'in a' yield if block_given? } a.call { puts "in a's block" }
这不工作…它只是生产
in a => nil
有没有办法得到块来调用块?
解决方法
我不知道你是否可以做到这一点,但类似的事情将是:
在Ruby 1.8.6中:
a = lambda { |my_proc| puts 'in a' my_proc.call } a.call(lambda { puts "in a's block" })
在Ruby 1.9.1中,可以有块参数
a = lambda { |&block| puts 'in a' block.call } a.call { puts "in a's block" }