如何使用yaml-cpp发出空行

时间:2010-10-20 22:43:14

标签: yaml-cpp

使用yaml-cpp,版本0.2.5 ......

我想在列表中的条目之间发出一个空行(出于可读性目的)。 这可能吗?

我尝试过使用Verbatim和Null操纵器进行实验,但没有成功。

1 个答案:

答案 0 :(得分:1)

revision 420开始,这是可能的:

YAML::Emitter emitter;
emitter << YAML::BeginSeq;
emitter << "a" << YAML::Newline << "b" << "c";
emitter << YAML::EndSeq;

产生

---
- a

- b
- c

我决定使用YAML::Newline代替YAML::Newline(n),因为我找到了

  1. 我通常只想要一个换行符。
  2. 我不小心输入了YAML::Newline,它隐含地将函数强制转换为bool(具体来说,true),所以我认为其他人可能会犯同样的错误。
  3. 如果您只想修补副本(而不是与主干同步),请使用修订版418-420。 (注意:它比你发布的链接中的补丁更精简,因为在隐式密钥之后你必须小心新行。请参阅关于(现已关闭)Issue 77的评论了解更多详情。)