nil
является единственным экземпляром класса NilClass
.У него нет особого поведения (кроме того факта, что оно интерпретируется как ложное в логическом контексте (например, в состоянии if
), как подсказал Эндрю Гримм).Цель nil
состоит в том, чтобы обозначить «нет результата».
Например, метод, который должен найти элемент, удовлетворяющий определенному условию, вернул бы nil
, если нет элемента, удовлетворяющего условию.Или доступ к i
-ому элементу массива, который содержит менее i
элементов, вернет nil
.
Это имеет аналогичное назначение нулевого указателя в других языках, за исключением того, что вы можете вызвать Object
методы (т. Е. Методы, которые определены для каждого объекта) на нем без исключения.