20
我知道這意味着什麼:裸星號作爲參數的方法定義:DEF F(*)
def f(*args)
...
end
但是這是什麼意思,你爲什麼要使用它?它是否也可以與命名參數一起顯示?
def f(*)
...
end
我知道這意味着什麼:裸星號作爲參數的方法定義:DEF F(*)
def f(*args)
...
end
但是這是什麼意思,你爲什麼要使用它?它是否也可以與命名參數一起顯示?
def f(*)
...
end
def f(*)
具有如def f(*args)
不同之處在於它不命名匹配替換的參數數組相同的效果,。如果您希望函數接受任意數量的參數,但實際上並不需要在函數中引用它們,例如,如果您重寫某個方法,但是調用super
而不傳遞顯式參數列表,則可以使用它導致原始參數被傳遞給super
。您也可以編寫def f(a, b, *)
。
+1,謝謝!你有什麼引用或權威?它似乎是_Not很好宣傳_(tm)。 – pilcrow 2011-03-09 17:34:17
它沒有被很好地公開,因爲通常我們會使用'(* args)'。這是Ruby的方式。 – 2011-03-09 19:34:50
@pilcrow:有論點但不使用任何這些參數會產生輕微的代碼味道,所以不會被公開。 – 2011-03-09 22:37:58