1

ruby 2.0.0 YAML の ruby​​ タイプ情報による接尾辞を無効にする方法はありますか?

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 に渡すと、接尾辞付きのファイルを正常に読み取り、接尾辞なしのファイルを書き込みます。

4

1 に答える 1

0

Problem found: I modified hash.to_yaml so that it sorts the keys. Since my code is based on hash.to_yaml 1.8.7 I need to revise it based on hash.to_yaml 2.0.0.

于 2013-10-24T23:00:10.737 に答える