Подтвердить что ты не робот

Документация для Psych to_yaml?

Ruby 1.9.3 по умолчанию использует Psych для 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"

Есть, вероятно, больше опций. В частности, я хочу знать, как изменить ширину переноса строки или вообще отключить ее.

Каковы доступные параметры?

4b9b3361

Ответ 1

Глубоко в кистях ruby-1.9.3-p125/ext/psych/emitter.c Я нашел три варианта:

  • indentation - Уровень должен быть меньше 10 и больше 1.
  • line_width - Установите предпочтительную ширину линии.
  • canonical - Установите стиль вывода каноническим или нет (true/false).

И они работают!

Ответ 2

Если вы хотите отключить перенос строки, используйте эту опцию:

line_width: -1