Psych to_yaml选项的文档?

Ruby 1.9.3默认使用Psych for YAML。 虽然它的ruby-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" 

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

有哪些选择?

ruby-1.9.3-p125/ext/psych/emitter.c我找到了三个选项:

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

他们工作!

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

 line_width: -1