問題タブ [optparse-applicative]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1080 参照

haskell - optparse-applicative でネストされた/条件付きオプションを作成する方法は?

optparse-applicativeのメソッドを使用して、このようなプログラム オプションを解析する haskell 式を作成することは可能ですか?

-a-bはオプションのフラグ ( を使用して実装) であり、 -aが前に入力された場合にのみ-bオプションが有効switchであるという制約があります。

ありがとう

0 投票する
1 に答える
323 参照

haskell - optparse-applicative バックトラッキング

引数の数に応じて異なるアクションを実行するプログラムでoptparse-applicativeライブラリを使用しようとしています。

たとえば、周長を計算するプログラムの引数解析:

の最初の引数のみが<|>正常に解析されます。tryParsec のコンビネータと同様に、ある種の引数バックトラッキングが必要だと思います。

最初の選択肢が次の選択肢のいくつかの引数を消費する可能性がある場合、引数の代替セットを解析する方法に関するアイデアはありますか?

0 投票する
1 に答える
325 参照

haskell - フリー代替ファンクターから optparse-applicative パーサーを生成する

次の型シグネチャを検討してください。

ここで、 からの型Fooへの自然な変換を示します。optparse-applicativeParser

(わかりました、それは少し役に立ちませんが、議論には役立ちます)。

今、私Barは自由な代替ファンクターであるとしFooます:

これがフリー ファンクターであることを考えると、 からへmkParserの自然な変換に移行できるはずです。BarParser

そして確かに、これは機能し、私にParser戻ってきます。ただし、それを多くのことをしようとすると無限ループになるため、これはかなり役に立たないものです。たとえば、それを説明しようとすると:

そして、中断されるまでハングアップします。

この理由は、 andの定義をoptparse-applicative ごまかすためのようです: カバーの下でモナド構文解析を使用します。manysome

ここで何か間違ったことをしていますか?これを考えると、この方法でパーサーを構築する方法がわかりません。何か案は?

0 投票する
1 に答える
452 参照

haskell - optparse-applicative: アロー構文で引数のない状況を処理する方法

例があります: https://github.com/pcapriotti/optparse-applicative/blob/master/tests/Examples/Cabal.hs#L46-L62

...

したがって、デフォルトでは、引数を使用しない場合、使用情報が表示されます。引数なしでケースを使用し、[カスタム引数] を 1 つ使用したい (カスタム引数を使用すると、エラーが発生しますInvalid argument 'regreg':)

ここで空のカスタム引数を処理するにはどうすればよいですか?

0 投票する
1 に答える
2994 参照

haskell - オプションのフラグを Maybe 値として解析する方法は?

optparse-applicativeを使用して a を解析しようとしてMaybe Stringいますが、 を処理する方法がどこにも見つかりませんMaybeNothing私が見つけた唯一のことは、デフォルト値を追加することですが、ユーザーが代わりにオプションを提供しなかった場合は本当に必要です""。これを達成する方法はありますか?

作業コードの例を次に示します。

ただし、パラメーターをオプションにして、 inMaybe Stringの代わりに使用したいと思います。StringConfig

0 投票する
0 に答える
40 参照

haskell - 引数の数から決定されるプログラムモード [optparse-applicative]

引数の数からプログラムモードを決定します(フラグ/「サブパーサー」と「コマンド」なし)が、成功しません。

ghci セッション

:main abを使用すると、結果としてa: a および b: b のモード 2 が期待されます。

私は何を取りこぼしたか?ありがとう!


Main.hs

0 投票する
2 に答える
1131 参照

haskell - いくつかのパラメーターを持つ optparse-applicative オプションを使用することは可能ですか?

慎重に作成されたパーサーが、スローした文字列を解析できないことがわかりました。

どこROI = ROI Int Int Int Int

それが重要な場合は、上位のパーサーにネストされています

Opts適切な ADT です。

ここで、roiパーサーが次のような式を解析すると仮定しまし--roi 1 2 3 4たが、失敗しInvalid argument '128'て使用法メッセージが表示されます。

--roi 1代わりに解析しますが、返しますJust (ROI 1 1 1 1)

これを機能させる方法はありますか?

0 投票する
2 に答える
553 参照

haskell - Option.Applicative: 結合されたパーサーをフラグで解析する方法は?

複雑なコマンド ライン オプションがあるため、

これらのサブ引数をフラグで解析したい:

私は既に持っています

??? には何を書けばいいですか?