9
Qual è l'idioma in Ruby quando si desidera avere un argomento predefinito per una funzione, ma uno che dipende da un altro parametro/un'altra variabile? Ad esempio, in Python, un esempio è:argomento default ruby idioma
def insort_right(a, x, lo=0, hi=None):
if hi is None:
hi = len(a)
while lo < hi:
mid = (lo+hi)//2
if x < a[mid]: hi = mid
else: lo = mid+1
a.insert(lo, x)
Qui, se hi
non viene fornito, dovrebbe essere len(a)
. Non è possibile eseguire len(a)
nell'elenco di argomenti predefinito, in modo da assegnargli un valore sentinella, Nessuno e verificarlo. Quale sarebbe l'equivalente in Ruby?
cosa succede se si dispone di un ciclo? 'def foo (a = b, b = a)'. o puoi riferirti solo ai vars definiti prima? – Claudiu
Deve venire prima – horseyguy