Оператор безопасной навигации является частью грамматики ruby. Это не оператор, который вы можете реализовать как метод в своем коде.
Если вы все еще хотите избавиться от NoMethodError
, вы можете использовать
def method_missing(m, *args, &block)
nil
end
, но это всего лишь взлом.
Могут быть другие последствия этой реализации, когда вы вызываете другие методы, которые вы ожидаете от темы в классе адресов, но из-за method_missing
вы всегда получаете nil
.
как address.location
будет return nil
который должен выбросить NoMethodError