微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否有任何配置库为合并拆分文件中的修改提供本机实现如 .d 文件夹中所示

如何解决是否有任何配置库为合并拆分文件中的修改提供本机实现如 .d 文件夹中所示

在试图找到答案时,我一直无法理清噪音。当然有很多库可用于处理配置文件,但我正在寻找的是关于是否有适用于这种特定类型的拆分配置的解决方案的答案。

在 Linux 系统上,我发现通过指示用户认配置的子集放入单独的文件夹(通常带有 . d 后缀)。这些更改会覆盖认配置中的内容,并提供一种非常简单的方法来在以后跟踪已修改内容

解决方法

在不同的配置文件中使用了多种不兼容的语法,我不知道有一个可以解析它们的库。但是,如果您愿意将自己限制在一种配置语法上,那么您的问题的两个答案就会浮现在脑海中。

首先是使用脚本语言作为您的配置文件语法。让我们假设应用程序同时读取 default.cfgoverride.cfg(按此顺序)。如果 default.cfg 包含 name="john",则 override.cfg 可能包含 name="mary",这将具有覆盖 name 值的效果。这是因为 shell 解释器提供了一个公共位置来存储在脚本文件中分配的全局变量。以下伪代码显示了您的应用程序如何与脚本语言解释器交互:

interp = new Interpreter();
interp.executeFile("default.cfg");
interp.executeFile("override.cfg");
name = interp.getValueOfVariable("name");

第二种是使用Config4*,这是我写的一个Configuration-file解析器;它在 C++ 和 Java 中可用。我建议您阅读 Config4* Getting Started Guide 中的第 2 章(Config4* 语法概述)。 Config4* 的“自适应配置”功能似乎适合我认为您要问的问题。如果您在阅读第 2 章后同意,请阅读第 3 章,该章提供了 C++ 和 Java API 的概述。这可能足以让您入门。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。