NilClass
, TrueClass
и FalseClass
, каждый из которых имеет по одному экземпляру, а именно nil
, ] true
и false
, которые являются константами, для чего нужны эти классы? Почему они не могут быть экземплярами класса Object
, а все соответствующие методы можно просто определить как одноэлементные методы на nil
, true
и false
]? Связанный с этим вопрос: почему они не определены как константы?