如何在YAML文件的顶部删除“---”?

时间:2014-01-21 07:01:10

标签: ruby hash yaml

我正在修改Ruby中的YAML文件。在我回写修改后的YAML后,我看到文件顶部添加了---。如何添加它以及如何摆脱它?

1 个答案:

答案 0 :(得分:36)

YAML spec说:

  

YAML使用三个破折号(“---”)将指令与文档内容分开。如果没有指令,这也用于表示文档的开始。

示例:

# Ranking of 1998 home runs
---
- Mark McGwire
- Sammy Sosa
- Ken Griffey

# Team ranking
---
- Chicago Cubs
- St Louis Cardinals

因此,如果每个YAML文件有多个文档,则必须将它们分成三个破折号。如果你只有一个文件,你可以删除/省略它(如果缺少三个破折号,我在红宝石中从未遇到过YAML的问题)。当你对对象进行yamlify时添加它的原因是,我猜,转储器是“按规范”编写的,并不关心实现这样的“快捷方式”(当它只有一个文档时省略三个破折号)。