我希望能够从命令行和文件中获取程序选项。
如果没有接近的等价物,制作配置文件的常用方法是什么?
我喜欢 boost.po,但我不喜欢我不能在配置文件中编写脚本。例如,我可以只写 sqrt(2),而不是写 1.41421356。
我希望能够从命令行和文件中获取程序选项。
如果没有接近的等价物,制作配置文件的常用方法是什么?
我喜欢 boost.po,但我不喜欢我不能在配置文件中编写脚本。例如,我可以只写 sqrt(2),而不是写 1.41421356。
你问了几个似乎彼此没有太大关系的问题。
Boost.ProgramOptions 是一个解析命令行选项的工具。作为此工具的扩展,它还可以从文件格式中获取这些选项。这些不是“配置文件”;这些是选项文件。它们包含看起来像一系列命令行选项的选项。
你可以在概念上把它想象成一个 .ini 文件(或者你可能从 Boost.PropertyTree 得到的东西)。但格式最终仍然是命令行选项的格式:--option-name "parameter" -o "next Param"
.
因此,Boost.ProgramOptions 的“Lua 等价物”将成为解析命令行选项的工具。您可以为此任务选择多个选项。
如果您想拥有基于 Lua 脚本构建的配置文件,那么您应该这样做。Lua 的表构造函数提供了一种非常合理且人类可读的文件格式,很像 JavaScript 的 JSON。但是,这些与命令行选项没有直接联系;它只是一个 Lua 脚本,您可以将其读取为 Lua 表并按照您认为合适的方式进行处理。您无法将此表的片段复制并粘贴到命令行上,并期望像 Boost.ProgramOption 的选项文件那样获得合理的结果。