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