9
Bir işlev için varsayılan bir argümana sahip olmak istediğinizde, ancak başka bir parametreye/başka bir değişkene bağımlı olan Ruby'deki deyim nedir? Örneğin, Python, bir örnek: İşteruby varsayılan değişken idiom
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)
, hi
temin değilse, o len(a)
olmalıdır. Varsayılan argüman listesinde len(a)
yapamazsınız, böylece bir sentinel değeri atarsınız, None ve bunun için işaretleyin. Ruby'de buna eşdeğer ne olurdu?
Döngününüz varsa ne olur? foo (a = b, b = a) 'dır. ya da sadece daha önce tanımlanmış varslara başvurabilir misiniz? – Claudiu
Daha önce gelmelidir – horseyguy