我试图使我的程序中的所有哈希都是 ActiveSupport::OrderedHash。
我可以通过以下方式重写 Hash.new 构造函数::Hash = ActiveSupport::OrderedHash
but {}.class
仍然是哈希。
def {}
给我一个语法错误。
建议这是重复的这个问题,但我认为情况并非如此。我的问题不是关于哈希的子类化,而是关于覆盖默认值{ }
=> 哈希构造函数。
哈希字面量{}
是用 Ruby 硬编码的,您无法更改它。{}
将成为一个Hash
。然而,由于Ruby的类是可以修改的,你可以从其中删除所有不必要的方法、常量、变量Hash
,并复制其中的所有内容ActiveSupport::OrderedHash
into Hash
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)