使用方法参数引用 YAML 节点
Reference YAML Node using method parameter
我加载了一个 yaml,需要为其定义一个范围,以引用特定的节点。
myYaml = YAML.load_file('myfile.yml').with_indifferent_access
一般情况下我就可以了
myYaml[:first_node][:first_child][:second_child]
但是,我想将路径传递给一个方法来为我确定范围。我正在努力做这样的事情..
scope_path = [:first_node,:first_child,:second_child]
def scope(scope_path)
myYAML[scope_path]
end
# 所以我需要代码将我的 scope_path 参数转换为
myYaml[:first_node][:first_child][:second_child]
你可以简单的使用Hash#dig
:
myYaml.dig(:first_node, :first_child, :second_child)
我加载了一个 yaml,需要为其定义一个范围,以引用特定的节点。
myYaml = YAML.load_file('myfile.yml').with_indifferent_access
一般情况下我就可以了
myYaml[:first_node][:first_child][:second_child]
但是,我想将路径传递给一个方法来为我确定范围。我正在努力做这样的事情..
scope_path = [:first_node,:first_child,:second_child]
def scope(scope_path)
myYAML[scope_path]
end
# 所以我需要代码将我的 scope_path 参数转换为
myYaml[:first_node][:first_child][:second_child]
你可以简单的使用Hash#dig
:
myYaml.dig(:first_node, :first_child, :second_child)