27

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

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

有哪些可用选项?

4

2 回答 2

43

在内心深处,ruby-1.9.3-p125/ext/psych/emitter.c我发现了三个选择:

  • indentation-级别必须小于 10 且大于 1。
  • line_width-设置首选线宽。
  • canonical-将输出样式设置为规范或非规范(真/假)。

他们工作!

于 2012-03-18T14:59:26.867 回答
19

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

line_width: -1
于 2012-09-27T03:22:12.087 回答