我对预期的 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