Je souhaite analyser les options de ligne de commande avec des arguments dans OCaml.OCaml - Analyse des options de ligne de commande avec des arguments utilisant Arg
Le module Arg
de la bibliothèque standard semble faire tout ce dont j'ai besoin et il y a quelques tutoriels qui expliquent comment utiliser ce module.
Mon problème est, qu'ils semblent tous partager le même comportement étrange quand l'argument d'une option est manquant. Par exemple, l'exécution du programme de this example avec ./a.out -d
produit la sortie suivante:
./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
je n'étais pas en mesure de savoir pourquoi le message d'erreur/usage est imprimé trois fois. Cela arrive aussi à tous les autres exemples de code que j'ai trouvés en ligne. Est-ce un problème dans le module Arg
ou est-il en quelque sorte pas utilisé correctement dans ces exemples?
Quelle version du compilateur utilisez-vous? (J'ai réussi à reproduire sous 4.04.2 dès maintenant) – RichouHunter
L'exécution avec OCaml 4.02.3 ne provoque pas ce comportement. Je vous suggère de vérifier [OCaml bug-tracker] (https://caml.inria.fr/mantis/view_all_bug_page.php) pour voir si ce problème a déjà été signalé. :) – RichouHunter