我有两个方法,除了一个块,但其中一个方法需要将其块传递给另一个。如何在方法之间传递块?
def one(&block)
two(block)
end
def two(&block)
block.call
end
在实际代码的其他参数被传递和one
超过two
语法糖。
我希望能够用块调用one
和two
。
one { } # => okay
two { } # => ArgumentError: wrong number of arguments (1 for 0)
我明白为什么我得到了ArgumentError
,two
没有参数本身。我不太确定如何说明这一点,但&block
指定在传入参数后出现的块,因此出现错误。
Ruby 1.9的
谢谢 - 我使用了两个(&block)'我没有意识到你可以保留'&'将块作为非参数参数传递...... – Kris