我有两种方法,除了块之外,其中一种方法需要将其块传递给另一个。
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
指定块出现在传入的参数之后,因此出现错误。
红宝石 1.9