Какова идиома в Ruby, когда вы хотите иметь аргумент по умолчанию для функции, но тот, который зависит от другого параметра / другой переменной? Например, в Python, например:
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
не указано, оно должно быть len(a)
. Вы не можете сделать len(a)
в списке аргументов по умолчанию, поэтому вы присваиваете ему значение Sentinel, None, и проверяете это. Каким будет эквивалент в Ruby?