我加载了一个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\u path参数转换为
myYaml[:first_node][:first_child][:second_child]

最佳答案

您可以简单使用Hash#dig

myYaml.dig(:first_node, :first_child, :second_child)

关于ruby - 使用方法参数引用YAML节点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56514744/

10-12 17:26