-1

我打算使用 yaml,因为它有一个很棒的功能,叫做合并!(“<<”键)

我正在使用'yaml-cpp'作为解析器,因为我正在研究cpp。

但!yaml-cpp 不支持合并。我可以为替代品做些什么?

其他脚本,其他解析器,其他解析方式,或者如果我可以使用合并功能的话。

但我不需要合并多个对象。我只需要定义一些东西并创建从第一个继承的另一个对象并覆盖一些值。那它。

谢谢阅读。

4

3 回答 3

0

要求 'yaml-cpp' 来实现该功能。

于 2011-02-28T10:07:55.883 回答
0

如果您无法等待并需要合并,您可以按照“barma”关于 yaml-cpp 问题的建议:http ://code.google.com/p/yaml-cpp/issues/detail?id=41 #c12

更改是将下面的行插入到 FindValueForKey 模板中(在 for-loop 和 之间return 0):

const Node *pValueMerge = FindValueForKey(std::string("<<"));
if(pValueMerge) {
    return pValueMerge->FindValueForKey(key);
}

问题(正如我在问题页面上提到的)是规范允许

<<: [*dict1, *dict2]

合并多个字典;但看来你不需要那个。

于 2011-03-01T00:06:33.640 回答
0

问题

使用 YAML 合并键。

解决方案

其他脚本,其他解析器,其他解析方式,或者如果我可以使用合并功能的话。

在撰写本文时,以下 YAML 实现支持所需的功能

  • 红宝石 2.x
  • Python 2.x // 3.x
于 2019-04-11T21:05:57.543 回答