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