【问题标题】:How to remove '---' on top of a YAML file?如何删除 YAML 文件顶部的“---”?
【发布时间】:2014-02-10 15:28:04
【问题描述】:

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

【问题讨论】:

  • 显示一些代码可能会有所帮助

标签: ruby hash yaml


【解决方案1】:

YAML spec 说:

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

例子:

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

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

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

【讨论】:

  • 我只有一个文件,每次修改文件如何删除。
  • 你可以yaml.gsub("---\n", '')
  • gsub 是一种字符串方法。获取#的未定义方法`gsub'
  • @Ava:是的,做hash.to_yaml.gsub(...)
猜你喜欢
  • 2017-10-25
  • 2021-08-31
  • 2015-03-29
  • 1970-01-01
  • 2023-02-06
  • 2021-05-11
  • 2011-05-28
  • 2020-12-30
相关资源
最近更新 更多