идиома аргумента ruby ​​по умолчанию

Что за идиома в 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?

10
задан Claudiu 6 October 2010 в 18:55
поделиться