如何从 Docopt 中的一组中强制至少一个参数?

How to force at least one argument from a set in Docopt?

我希望我的程序至少需要一个参数集才能使参数有效。

为了举例,假设我有 3 个开关(-a、-b 和 -c)和两个强制参数。

这些是有效的。 myapp -a FOO BAR myapp -a -b FOO BAR myapp -a -c FOO BAR

这不会是:

myapp FOO BAR

您可以使用省略号 ... 来说明一个选项应该出现一次或多次:

Usage:
    myapp (-a|-b|-c)... <FOO> <BAR>

这里我们声明 -a-b-c 应该出现一次或多次。

接受:

myapp -a FOO BAR
myapp -a -b FOO BAR
myapp -a -c FOO BAR

拒绝:

myapp FOO BAR