Nil
nil - это специальный объект Ruby, используемый для представления «пустого» или «значения по умолчанию». Это также «ложное» значение, то есть оно ведет себя как false при использовании в условном операторе. Существует ТОЛЬКО один объект nil с object_id равным 4 (или 8 в 64-битном Ruby), и это одна из причин, почему nil является особенным.
nil.object_id
=> 4
Как и любой другой объект Ruby, nil имеет набор методов. Пустой хеш, пустая строка, пустой массив… Причина в том, что nil используется для обозначения «ничего».
class NilClass
def to_s
""
end
def inspect
"nil"
end
def nil?
true
end
def to_a
[]
end
def to_f
0.0
end
def to_i
0
end
def to_c
Complex(0)
end
def to_h
{}
end
end