回答:
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;
実行例:
$ p.p6 -w xyz -q def -r abc hello
{help => False, q => def, r => abc, w => xyz}
[hello]
@*ARGS
によって削除されget-options()
ます。したがって、オプション以外の引数は@*ARGS
後で残されます。更新の答えを参照してください
help
デフォルト値は0 に設定されます。おそらくhelp => False
ヘルプオプションはヘルプメッセージを表示するために使用されるため、ブール値を使用する方が良いでしょう。私はそれhelp
がブール値であるような答えを編集しました。
MAIN
subを使用します。
#!/usr/bin/env raku
use v6;
sub MAIN(:$these ="These", :$are="Are", :$params="Params") {
say "$these $are $params";
}
これらのパラメーターは任意の順序で入力できます。
./command-line.p6 --are=well --these=those
those well Params
また、追加のパラメーターをキャッチして、実際のパラメーターを表示します。
./command-line.p6 --are=well --these=those --not=this_one
Usage:
./command-line.p6 [--these=<Any>] [--are=<Any>] [--params=<Any>]
ダッシュが1つだけのパラメーターに関心がある場合は、Hakonが示すようにGetOpt :: Longが必要になります。