我打算使用 yaml,因为它有一个很棒的功能,叫做合并!(“<<”键)
我正在使用'yaml-cpp'作为解析器,因为我正在研究cpp。
但!yaml-cpp 不支持合并。我可以为替代品做些什么?
其他脚本,其他解析器,其他解析方式,或者如果我可以使用合并功能的话。
但我不需要合并多个对象。我只需要定义一些东西并创建从第一个继承的另一个对象并覆盖一些值。那它。
谢谢阅读。
我打算使用 yaml,因为它有一个很棒的功能,叫做合并!(“<<”键)
我正在使用'yaml-cpp'作为解析器,因为我正在研究cpp。
但!yaml-cpp 不支持合并。我可以为替代品做些什么?
其他脚本,其他解析器,其他解析方式,或者如果我可以使用合并功能的话。
但我不需要合并多个对象。我只需要定义一些东西并创建从第一个继承的另一个对象并覆盖一些值。那它。
谢谢阅读。
要求 'yaml-cpp' 来实现该功能。
如果您无法等待并需要合并,您可以按照“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]
合并多个字典;但看来你不需要那个。
使用 YAML 合并键。
其他脚本,其他解析器,其他解析方式,或者如果我可以使用合并功能的话。
在撰写本文时,以下 YAML 实现支持所需的功能