2
我需要編寫一個方法,它需要一個未知數量的參數(因此* splat),但它通過了yields_with_args
規範。有沒有(*)splat參數在Ruby中傳遞多個參數的方法?
代碼:
def eval_block(*args, &block)
raise "NO BLOCK GIVEN!" if block.nil?
block.call(args)
end
RSpec的:
it "passes the arguments into the block" do
expect do |block|
eval_block(1, 2, 3, &block)
end.to yield_with_args(1, 2, 3)
end
end
它的工作原理,但它產生的是*圖示創建數組:[1,2,3]
VS 1,2,3
,因此沒有通過RSpec的。是否有另一種方式通過Ruby中的方法傳遞多個參數?
挽救生命,布魯 –