【发布时间】:2012-08-02 01:56:59
【问题描述】:
应用程序有两个选项:a 和 file。 file 是一个位置选项。 a 和 file 都有一个字符串类型的参数,可以省略。 (我为两者都设置了一个隐含的空字符串)。
期望的行为如下:
$ program->file: ""$ program file.txt->file: "file.txt"$ program --a->a: "", file: ""$ program --a file.txt->a: "", file: "file.txt"$ program --a x file.txt->a: "x", file: "file.txt"
但是,选项 4 被解释为 a: "file.txt", file: ""。有什么方法可以告知 program_options 如何解决这种模棱两可的情况? ($ program --a -- file.txt 确实可以按预期工作,但我也希望在没有额外内容的情况下也能正常工作。)我目前使用空字符串表示“未指定”,但这不是必需的。
【问题讨论】: