2
我想扩展Hash类,以便所有散列在创建时得到相同的default_proc
。所以我把这个在我的文件:使用default_proc初始化所有散列
class Hash
def initialize
self.default_proc = proc { |hash, key| raise NameError, "#{key} is not allowed" }
end
end
,如果我用这个语法
h = Hash.new
这工作正常,但如果我用
h = {}
摆弄它,似乎后者的语法不会调用initialize。是否有一种“铁皮”方式来实现为所有哈希设置default_proc
?
很酷!那是我从未想过的事情。好消息是,在我对红宝石感到厌倦之前,这将是一个难忘的时光。 ;) – user119282 2009-09-26 22:31:43