How to remove '---' on top of a YAML file?

后端 未结 1 1144
抹茶落季
抹茶落季 2020-12-09 02:59

I am modifying a YAML file in Ruby. After I write back the modified YAML, I see a --- added on top of the file. How is this getting added and how do I get rid o

相关标签:
1条回答
  • 2020-12-09 03:09

    YAML spec says:

    YAML uses three dashes (“---”) to separate directives from document content. This also serves to signal the start of a document if no directives are present.

    Example:

    # Ranking of 1998 home runs
    ---
    - Mark McGwire
    - Sammy Sosa
    - Ken Griffey
    
    # Team ranking
    ---
    - Chicago Cubs
    - St Louis Cardinals
    

    So if you have multiple documents per YAML file, you have to separate them by three dashes. If you only have one document, you can remove/omit it (I never had a problem with YAML in ruby if three-dashes was missing). The reason why it's added when you yamlify your object is that, I guess, the dumper is written "by the spec" and doesn't care to implement such "shortcuts" (omit three-dashes when it's only one document).

    0 讨论(0)
提交回复
热议问题