Je supprime le message car je n'ai pas été consulté sur la censure / l'édition.
Je supprime le message car je n'ai pas été consulté sur la censure / l'édition.
Réponses:
Voici un exemple utilisant Getopt :: Long :
use v6;
use Getopt::Long;
my %opt = help => False, 'r=s' => "", 'q=s' => "", 'w=s' => "";
my %options = get-options(%opt).hash;
say %options;
say @*ARGS;
Exemple d'exécution:
$ p.p6 -w xyz -q def -r abc hello
{help => False, q => def, r => abc, w => xyz}
[hello]
@*ARGS
par get-options()
. Les arguments non-options sont donc laissés @*ARGS
après. Voir la réponse mise à jour
help
une valeur par défaut de 0. Il serait probablement préférable d'utiliser un booléen: help => False
puisque l'option d'aide est généralement utilisée pour afficher un message d'aide. J'ai édité la réponse telle qu'elle help
est booléenne.
Utilisez le MAIN
sous :
#!/usr/bin/env raku
use v6;
sub MAIN(:$these ="These", :$are="Are", :$params="Params") {
say "$these $are $params";
}
Vous pouvez taper ces paramètres dans n'importe quel ordre:
./command-line.p6 --are=well --these=those
those well Params
Et attrapera également tout paramètre supplémentaire, vous montrant les paramètres réels:
./command-line.p6 --are=well --these=those --not=this_one
Usage:
./command-line.p6 [--these=<Any>] [--are=<Any>] [--params=<Any>]
Si vous n'êtes intéressé que par les paramètres avec un seul tiret, vous aurez besoin de GetOpt :: Long comme indiqué par Hakon