Ссылка на узел YAML с использованием параметра метода - PullRequest
1 голос
/ 09 июня 2019

Я загружаю 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]

1 Ответ

4 голосов
/ 09 июня 2019

Вы можете просто использовать Hash#dig:

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