Я читаю отличный Ruby on Rails Tutorial и столкнулся с следующим кодом.
if 0
true
else
false
end
Приведенное выше возвращает true
и показывает, как в отличие от многих языков (C - очевидный пример), ruby рассматривает 0
как true
. Вместо того, чтобы игнорировать поведение как своеобразное, я полагаю, что есть веская причина этого значительного отклонения от конвенции. Например, Python рассматривает 0
как False
, как и следовало ожидать.
Короче говоря, что является обоснованием при проектировании рубина для обработки 0
как true
?