Если вы хотите изменить do_some_calc
, чтобы вернуть false или ноль вместо 0, то вы в деле.
height = do_some_calc || 128
Если вы не можете изменить do_some_calc, чтобы он возвращал false или nil, когда он обычно возвращает 0, тогда вы можете обернуть его, но в долгосрочной перспективе вы не сохраняете много символов.За исключением случая, когда у вас есть много мест, где вы устанавливаете значения по умолчанию.
Эта оболочка вернет false, если do_some_calc вернет 0 и вывод do_some_calc во всех других случаях.
def my_do_some_calc
temp = do_some_calc
temp != 0 && temp
end
Собрав все вместе, вы получите:
height = my_do_some_calc || 128