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