私はコマンドラインで複数の文字列を受け取り、それぞれに対してアクションを実行するアプリケーションでoptparse-applicativeライブラリを使用しています。optparse-applicative:少なくとも1つの引数を必要とする
arguments Just
(metavar "EXPR"
& help "Expressions to render, in zero-based De Bruijn index notation")
残念ながら、これは、それはあまり意味がありませんが、なし引数でプログラムを実行することができます:私の最初の試みはこれでした。
私の第二の試みは、最初の引数は別途、その後、リストの残りの部分にそれをコンスパース関与:
(:) <$> argument Just (metavar "EXPR")
<*> arguments Just (metavar "EXPR")
これが働いているはずですが、それはしませんでした:パーサゴブルズ、--help
で呼び出されたときにそれをヘルプテキストを表示する代わりに処理します。
私の質問は、少なくとも1つの引数を必要とするようにoptparseを設定する方法です。
fyi ...バージョン0.9.0の 'arguments'と' arguments1'は 'many'と' some'の組み合わせを 'argument'で使うのが嫌いです。 – ErikR
追加コメントありがとうございます。 – drumfire
@ErikRしかし、 'some'を引数に使うと、デフォルトで有用なヘルプメッセージが表示されません(つまり、最後に' ... 'は付きません):-( –