OCamlの引数を使ってコマンドラインオプションを解析したい。OCaml - Argを使った引数付きコマンドラインオプションの解析
標準ライブラリのモジュールArg
は私が必要とするすべてを行うようですが、このモジュールの使い方を説明するチュートリアルがあります。
私の問題は、オプションの引数がない場合、すべて同じ奇妙な振る舞いを共有しているようです。例えば、./a.out -d
とthis exampleからプログラムを実行すると、次の出力を生成する:
./a.out: option '-d' needs an argument.
usage: ./a.out [-b] [-s string] [-d int]
-b : set somebool to true
-s : what follows -s sets some string
-d : some int parameter
-help Display this list of options
--help Display this list of options
./a.out: ./a.out: option '-d' needs an argument.
usage: ./a.out [-b] [-s string] [-d int]
-b : set somebool to true
-s : what follows -s sets some string
-d : some int parameter
-help Display this list of options
--help Display this list of options
.
usage: ./a.out [-b] [-s string] [-d int]
-b : set somebool to true
-s : what follows -s sets some string
-d : some int parameter
-help Display this list of options
--help Display this list of options
Iエラー/使用方法のメッセージを3回印刷された理由を知ることができませんでした。これは私がオンラインで見つけた他のすべてのコード例にも起こります。これはArg
モジュールの問題ですか、またはこれらの例で何らかの形で正しく使用されていませんか?
コンパイラのどのバージョンを使用していますか? (私は今のところ4.04.2の下で再現することができました) – RichouHunter
OCaml 4.02.3で動作しても、この動作は起こりません。この問題が以前に報告されたかどうかを確認するには、[OCaml bug-tracker](https://caml.inria.fr/mantis/view_all_bug_page.php)をチェックすることをお勧めします。 :) – RichouHunter