2017-05-14 8 views
1

私のプログラムは、引数が有効であるためには、セットから少なくとも1つの引数を要求したい。Docoptのセットから少なくとも1つの引数を強制するには?

たとえば、3つのスイッチ(-a、-b、-c)と2つの必須引数があるとしましょう。

これらは有効です。 myapp -a FOO BAR myapp -a -b FOO BAR myapp -a -c FOO BAR

これはないだろう。

myapp FOO BAR

答えて

0

あなたはオプションを1回以上表示される必要があることを述べるために省略記号...を使用することができます。ここでは

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

我々はどちらかということ-a述べます、-b、または-cが1回以上表示されます。

受け入れ:

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

リジェクツ:

myapp FOO BAR 
+0

はそれはフラグがが複数回提供することを許可しませんか?つまり 'myapp -a -a -b'です。それは問題ではなく、単なる観測です。 – Jake

+0

はい、そうです。それを避けたいのであれば、おそらくすべての組み合わせを綴る必要があり、コマンドラインの仕様がユーザーフレンドリーにならないでしょう。それはトレードオフのようなものです。 –

+0

私はそれで生きることができます。 – Jake

関連する問題