やるきなし

2014/07/03 13:28 / ruby2.1 の YAML

YAML.dump(object)で日本語文字列がダブルクォートされる.ruby 2.0 ではダブルクォートされなかったような...

YAMLでお手軽にシリアライズして,それをgitに突っ込んでいたりするので,処理系によって差分が出てしまう(個人で使っているだけなので問題ないのだが).

ということで,調べてみた.

該当処理箇所は /usr/lib/ruby/2.1.0/psych/visitors/yaml_tree.rbclass Psych::Visitors::YAMLTree < Psych::Visitors::VisitorPsych::Visitors::YAMLTree#visit_String(o) の箇所.の以下.

        elsif o =~ /^\W[^"]*$/
          style = Nodes::Scalar::DOUBLE_QUOTED

/usr/lib/ruby/2.0.0/psych/visitors/yaml_tree.rb にはこの行がない.ということでもしダブルクォートを回避するにはこの辺を何とかすれば良いらしい.