Что за идиома в 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)
в списке аргументов по умолчанию, поэтому вы назначаете ему контрольное значение None и проверяете его. Какой эквивалент был бы в Ruby?