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