有没有办法用ruby类型信息禁用ruby 2.0.0 YAML的后缀?
我刚刚升级到ruby 2.0.0而且我遇到了YAML问题。我读取 - 更新 - 写一个以前看起来像这样的yaml文件
test:
test2:
somevar: hello
当我将它提供给ruby 200时,它显示为OK但是写道:
test: !ruby/object:Hash
test2: !ruby/object:Hash
somevar: hello
当我重新运行程序时,YAML.load什么都不读。
myH = YAML.load_file( YAML_FPATH )
puts "Yaml as Hash:" + myH.inspect
>> Yaml as Hash: {}
奇怪的是,如果我将文件的“test:!ruby / object:Hash”版本传递给ruby 1.8.7,它会读取后缀文件OK并写入一个非后缀文件。
答案 0 :(得分:0)
发现问题:我修改了hash.to_yaml,以便对密钥进行排序。由于我的代码基于hash.to_yaml 1.8.7,我需要根据hash.to_yaml 2.0.0修改它。