2
假設有一個方法名爲foo
,它接受可變長度參數。如何包裝一個需要可變長度參數的方法?
def foo(*args)
# Implementation omitted
end
而且我想用bar
來包裝該方法。
def bar(*args)
# Will call `foo` at some point
# `foo(args)` isn't satisfactory.
end
我怎麼叫foo
內bar
這樣,如果我叫bar
與bar(1,2,3)
,foo(1,2,3)
也叫?
一些約束:
- 我無法改變的代碼
foo
。 foo
和bar
應該有完全相同的簽名。
當然我可以在bar
以內做foo(args)
。但是,如果是這樣的話,對於foo
,它將收到的是一個數組Array,而不是Array。
謝謝。
您使用splat運算符:'foo(* args)'' – Blender