我是使用 boost::program_options 的新手,我想用冒号和逗号符号解析数字命令行参数。例如,我想有这种论点:
myprogram --numbers 1:100,200,300
生成一个包含整数 1-100、200 和最后 300 的向量。
这个符号有名字吗?
我的第一个倾向是我必须将此参数视为字符串,然后将其传递给执行解析的函数函数。这似乎是“某人已经做过并可用的事情”的绝佳候选者。
我是使用 boost::program_options 的新手,我想用冒号和逗号符号解析数字命令行参数。例如,我想有这种论点:
myprogram --numbers 1:100,200,300
生成一个包含整数 1-100、200 和最后 300 的向量。
这个符号有名字吗?
我的第一个倾向是我必须将此参数视为字符串,然后将其传递给执行解析的函数函数。这似乎是“某人已经做过并可用的事情”的绝佳候选者。
我会使用boost::spirit并定义一些自定义语义操作。确保你使用的 boost::spirit 版本与编译器兼容。我在使用较新的 boost::spirit 和较旧的编译器时遇到了问题。Matlab 将 1:5 称为“冒号表示法”。很反高潮吧?