如何强制 docopt 只解析一个选项?

How to enforce docopt to parse one option only?

伙计们!

我正在尝试 docopt(cpp 变体)。我试过这个变体:

  Usage:
    prog [-o | --out-file=<out-file>] <in-file>
    prog -h | --help
    prog --version

  Options:
    -h --help                  Show this screen.
    --version                  Show version.
    -o, --out-file=<out-file>  Output file name [default: stdout].
    <in-file>                  Input file.

我预计 docopt 需要零个或一个 out-file 选项,结果它给我一个字符串,但它可以接受两个或更多这个选项并给我一个字符串列表值。

这样对吗?

当我像这样更正命令行描述时,我发现它按预期工作:

Usage:
  prog [-o<out-file>|--out-file=<out-file>] <in-file>
  prog -h | --help
  prog --version

Options:
  -h --help                  Show this screen.
  --version                  Show version.
  -o, --out-file=<out-file>  Output file name [default: stdout].
  <in-file>                  Input file.

甚至像这样:

Usage:
  prog [-o<out-file>] <in-file>
  prog -h | --help
  prog --version

Options:
  -h --help                  Show this screen.
  --version                  Show version.
  -o, --out-file=<out-file>  Output file name [default: stdout].
  <in-file>                  Input file.