27

Ruby 1.9.3 では、デフォルトで YAMLにPsychを使用します。そのための ruby​​-doc ドキュメント完全に欠落indentationしていますが、オプションがサポートされていることを示唆する外部ドキュメントを 1 つ見つけることができました。これはテストで証明されました:

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

私は3つの選択肢ruby-1.9.3-p125/ext/psych/emitter.cを見つけました:

  • indentation-レベルは 10 未満で 1 より大きい必要があります。
  • line_width-好みの線幅を設定します。
  • canonical-出力スタイルを標準に設定するか、しないか (true/false)。

そして、彼らは働きます!

于 2012-03-18T14:59:26.867 に答える
19

行の折り返しを無効にする場合は、次のオプションを使用します。

line_width: -1
于 2012-09-27T03:22:12.087 に答える