Psych to_yaml选项的文档?

Phr*_*ogz 26 ruby yaml psych

Ruby 1.9.3默认使用Psych for YAML.虽然它的红宝石DOC文档完全没有,我能发现暗示,一个外部件文档的indentation选项支持.测试证实了这一点:

irb(main):001:0> RUBY_VERSION
#=> "1.9.3"
irb(main):002:0> require 'yaml'
#=> true
irb(main):003:0> [[[1]]].to_yaml
#=> "---\n- - - 1\n"
irb(main):009:0> [[[1]]].to_yaml indentation:9
#=> "---\n-        -        - 1\n"
Run Code Online (Sandbox Code Playgroud)

可能支持更多选项.具体来说,我想知道如何更改换行宽度或完全禁用它.

有哪些选择?

Phr*_*ogz 41

ruby-1.9.3-p125/ext/psych/emitter.c我的内心深处,我找到了三个选择:

  • indentation- 级别必须小于10且大于1.
  • line_width- 设置首选线宽.
  • canonical- 将输出样式设置为规范,或不设置(true/false).

他们工作!

  • 我的line_width为999,仍有一些奇怪的换行符.-1工作,谢谢@sawa (2认同)

saw*_*awa 19

如果要禁用换行,请使用此选项:

line_width: -1
Run Code Online (Sandbox Code Playgroud)