Я пытаюсь сделать все хэш в моей программе ActiveSupport :: OrderedHash.Есть ли способ переписать объект `{}`?
Я могу переопределить конструктор Hash.new на ::Hash = ActiveSupport::OrderedHash
, но {}.class
по-прежнему хэш.
def {}
дает мне синтаксическую ошибку.
Было рекомендовано, чтобы это дубликат this question, но я не думаю, что это так. Мой вопрос заключается не в подклассе Hash, а в перезаписывании конструктора Hash по умолчанию. { }
=>.
Нет. Это не объект, это синтаксис. Это как просить * «Могу ли я перезаписать' if' "*. – ndn
Возможный дубликат [Как я могу переопределить метод \ [\] = при подклассификации хеша ruby?] (Http://stackoverflow.com/questions/12989011/how-can-i-override-the-method-when- subclassing-a-ruby-hash) – MZaragoza
Хэши в рубине заказываются с 1,9, так что в чем смысл использования ActiveSupport :: OrderedHash? –