Ruby 1.9.3默认使用Psych进行YAML。虽然the ruby-doc documentation for it 完全缺乏,但我能够找到一条外部文档,暗示支持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"
可能支持更多选项。具体来说,我想知道如何更改换行宽度或完全禁用它。
有哪些可用选项?
答案 0 :(得分:41)
ruby-1.9.3-p125/ext/psych/emitter.c
的内心深处我找到了三个选项:
indentation
- 级别必须小于10且大于1. line_width
- 设置首选线宽。 canonical
- 将输出样式设置为规范,或不设置(真/假)。 他们工作了!
答案 1 :(得分:19)
如果要禁用换行,请使用以下选项:
line_width: -1