У меня есть большая проблема с ожидаемым RuntimeError: "не может добавить новый ключ в хэш во время итерации"
В моем случае у меня есть файл YAML: test.yaml - в котором у меня уже есть некоторые ключи.
test.yaml
key1:
key2:
key3:
Я получаю содержимое файла в переменной:
file_hash = YAML.load_file("testm.yaml")
Затем мне нужно пропустить этот хэш и добавить к ним другие ключи:
file_hash.each do |key|
file_hash[key] = 'key_1'
file_hash[key] = 'key_2'
end
File.open('test.yaml', 'w') { |f| YAML.dump(file_hash, f) }
Основная проблема заключается в том, что я не могу записать хеш в цикле. Я не понимаю, почему это ожидается, когда у вас есть возможность управлять блоком цикла. Есть ли другой способ, которым я могу выполнить то, что я показал выше?
Примечание: я использую RUBY 1.9.3 p547