Рубин и ноль объект - PullRequest
       1

Рубин и ноль объект

3 голосов
/ 26 января 2011

Я новичок в мире ruby ​​и сейчас изучаю его. Я прочитал в Google о nil объекте, но все еще не могу понять, что это?

Может кто-нибудь объяснить мне более подробно или поделиться ссылкой для дальнейшего чтения?

Ответы [ 2 ]

6 голосов
/ 26 января 2011

nil является единственным экземпляром класса NilClass.У него нет особого поведения (кроме того факта, что оно интерпретируется как ложное в логическом контексте (например, в состоянии if), как подсказал Эндрю Гримм).Цель nil состоит в том, чтобы обозначить «нет результата».

Например, метод, который должен найти элемент, удовлетворяющий определенному условию, вернул бы nil, если нет элемента, удовлетворяющего условию.Или доступ к i -ому элементу массива, который содержит менее i элементов, вернет nil.

Это имеет аналогичное назначение нулевого указателя в других языках, за исключением того, что вы можете вызвать Object методы (т. Е. Методы, которые определены для каждого объекта) на нем без исключения.

0 голосов
/ 26 января 2011

Думайте о ноле как о нуле.Но поскольку все в Ruby является объектом, nil является единственным экземпляром синглтон-класса NilClass.Тогда ноль отвечает на методы и может быть исправлен обезьяной.На самом деле, вы можете делать все, что можете, с любым другим классом (учитывая, что он одиночный).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...