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