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