Is it possible to specify formatting options for to_yaml in ruby?

前端 未结 5 1178
说谎
说谎 2020-12-11 14:36

The code

require \'yaml\'
puts YAML.load(\"
is_something:
  values: [\'yes\', \'no\']
\").to_yaml

produces

--- 
is_somethin         


        
5条回答
  •  清歌不尽
    2020-12-11 15:28

    About the hash options: see http://yaml4r.sourceforge.net/doc/page/examples.htm

    Ex. 24: Using to_yaml with an options Hash

    puts [[ 'Crispin', 'Glover' ]].to_yaml( :Indent => 4, :UseHeader => true, :UseVersion => true )
    # prints:
    #   --- %YAML:1.0
    #   -
    #       - Crispin
    #       - Glover
    

    Ex. 25: Available symbols for an options Hash

    Indent: The default indentation to use when emitting (defaults to 2)
    Separator: The default separator to use between documents (defaults to '---')
    SortKeys: Sort Hash keys when emitting? (defaults to false)
    UseHeader: Display the YAML header when emitting? (defaults to false)
    UseVersion: Display the YAML version when emitting? (defaults to false)
    AnchorFormat: A formatting string for anchor IDs when emitting (defaults to 'id%03d')
    ExplicitTypes: Use explicit types when emitting? (defaults to false)
    BestWidth: The character width to use when folding text (defaults to 80)
    UseFold: Force folding of text when emitting? (defaults to false)
    UseBlock: Force all text to be literal when emitting? (defaults to false)
    Encoding: Unicode format to encode with (defaults to :Utf8; requires Iconv)

提交回复
热议问题