Bunun ne anlama geldiğini biliyorum:çıplak yıldız: def f (*)
def f(*args)
...
end
Ama bu demek ve neden bunu kullanmak isterdi? Adlandırılmış parametrelerle de görünebilir mi?
def f(*)
...
end
Bunun ne anlama geldiğini biliyorum:çıplak yıldız: def f (*)
def f(*args)
...
end
Ama bu demek ve neden bunu kullanmak isterdi? Adlandırılmış parametrelerle de görünebilir mi?
def f(*)
...
end
def f(*)
o globbed argüman dizisi adını etmemesi dışında def f(*args)
aynı etkiye sahiptir. Fonksiyonun herhangi bir sayıdaki argümanı kabul etmesini istiyorsanız, ancak aslında fonksiyonda onlara başvurmak istemiyorsanız kullanabilirsiniz - örneğin, bir yöntemi geçersiz kılarsanız ancak super
'u açık bir argüman listesi geçmeden çağırıyorsanız Özgün argümanlar super
'a iletilir. Ayrıca, def f(a, b, *)
yazabilirsiniz.
+1, teşekkürler! Bunun için herhangi bir alıntı ya da yetkin var mı? _Not Very Well Publicized_ (tm) gibi görünüyor. – pilcrow
Çok iyi tanıtılmadı çünkü genellikle '(* args)' kullanırdık. Bu Ruby yoludur. –
@pilcrow: Argümanlara sahip olmak, ancak bunların hiçbirini kullanmamak, hafif bir kod kokusu olacaktır, bu yüzden iyi bir şekilde yayınlanmayacaktır. –