Ruby 1.9.3 defaults to using Psych for YAML. While the ruby-doc documentation for it is completely lacking , I was able to find one external piece of documentation that hinted that the indentation
option is supported. This was borne out in testing:
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"
There are presumably more options supported. Specifically, I want to know how to change the line wrap width or disable it altogether.
What are the options available?
Deep in the guts of ruby-1.9.3-p125/ext/psych/emitter.c
I found three options:
indentation
- The level must be less than 10 and greater than 1. line_width
- Set the preferred line width. canonical
- Set the output style to canonical, or not (true/false). And they work!
如果要禁用换行,请使用此选项:
line_width: -1
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.