【发布时间】:2013-01-17 10:40:31
【问题描述】:
我有一个平面哈希:
hash = Hash["prop_one" => 100, "prop_two" => 200, "prop_three" => 300]
我已经将它包装在一个类中,该类通过访问器公开这些值以供读取:
class WrappedHash
def prop_one
config['prop_one']
end
def prop_two
config['prop_two']
end
def prop_three
config['prop_three']
end
def initialize(config)
self.config = config
end
end
有没有一种方法可以将这些属性的请求代理到哈希,而无需手动添加访问器? (这是一个大哈希)
【问题讨论】:
-
为什么不
{"prop_one" => 100, "prop_two" => 200, "prop_three" => 300}? -
因为我们可能正在切换属性值的来源,所以我不希望所有内容都引用一个对象。而是一堂课。
-
不,我的意思是
Hash[...],为什么要使用这种复杂的方式来构建哈希。只是出于好奇。