自从开始使用Ruby,唯一发现最不方便的就是Hash中键值的访问需要用[]索引,而且字符型和符号性的也不能互通,今天突发想到为什么不自己实现一个,于是马上动手,实现了一个Hash打开类覆盖,当然是大神方法method_missing。
class Hash def method_missing(name) key = name return self[key] if self.key?(key) key=name.to_s return self[key] if self.key?(key) super end end
至于何时装载,我是通过在congfig/initializers下面建立一个hash_extesion.rb。
当然如果key和Hash内置方法重名了,还是只能试用[]访问。