我想创建一个“配置”类,它在散列和树之间的某处起作用。它只是用于存储可以有上下文的全局值。
这是我如何使用它:
Config.get("root.parent.child_b") #=> "value"
下面是这个类的样子:
class Construct
def get(path)
# split path by "."
# search tree for nodes
end
def set(key, value)
# split path by "."
# create tree node if necessary
# set tree value
end
def tree
{
:root => {
:parent => {
:child_a => "value",
:child_b => "another value"
},
:another_parent => {
:something => {
:nesting => "goes on and on"
}
}
}
}
end
end
这种东西有没有名字,介于哈希和树之间(不是计算机科学专业)?基本上是树的类似哈希的接口。
像这样输出的东西:
t = TreeHash.new
t.set("root.parent.child_a", "value")
t.set("root.parent.child_b", "another value")
所需的输出格式:
t.get("root.parent.child_a") #=> "value"
t.get("root") #=> {"parent" => {"child_a" => "value", "child_b" => "another value"}}
而不是这个:
t.get("root") #=> nil
或者这个(你可以通过调用获得值{}.value
)
t.get("root") #=> {"parent" => {"child_a" => {}, "child_b" => {}}}