Как работает ноль? работа в рубине? - PullRequest
4 голосов
/ 28 января 2010

Как получилось () .nil? верно в Ruby?

Ответы [ 2 ]

9 голосов
/ 28 января 2010

Простой ответ: () - пустое выражение, которое оценивается как nil.

Более подробно: все выражения имеют результат в Ruby, возвращая nil, если нет ничего лучше, чтобы вернуть. () само по себе не вызывает никаких действий, поэтому выражение, которое является просто (), не имеет ничего особенного для возврата. Таким образом, результат выражения установлен на nil, и поэтому ().nil? оценивает пустое выражение, решает, что больше нечего возвращать, поэтому возвращает nil. Это действительно равно nil, поэтому nil? говорит true.

2 голосов
/ 28 января 2010

Игра в IRB ...

a = ()
a.class # => NilClass
a.nil? # => true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...