Dartのコマンドラインアプリを書こうとしているのですが、
引数の取り方が良くわかりません。
どうやればいいのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
コマンドラインで実行する場合、エントリーポイントとしてmain
関数が必要となります。このmain
関数で List<String>
の型の引数を指定します。
lang
1void main(List<String> args) 2{ 3 for (var arg in args){ 4 print(arg); 5 } 6}
実行時のコマンドライン引数が上記の args に格納されます。
ちなみに List は Dart では配列です。
$ dart argtest.dart foo bar baz foo bar baz
この args
に対して -h や --help のようなオプションの解析をしたい場合に、他の方が回答されているように args のパッケージが必要となります。
投稿2014/10/05 17:03
総合スコア863
0
args.dartライブラリを用います。
以下、サンプルコードを示します。
lang
1hogeオプション:省略 a 2hogehogeオプション:省略 b:取りうる値 a,b 3flgオプション:省略 c:規定値 false 4 5import 'package:args/args.dart'; 6 7void main(List<String> arguments){ 8 9final parser = new ArgParser(); 10 11parser.addOption("hoge", abbr:"a"); 12parser.addOption("hogehoge", abbr:"b", allowed:["a", "b"]); 13parser.addFlag("flg", abbr:"c", defaultsTo:false); 14 15var results = parser.parse(arguments); 16print(results["hoge"]); 17print(results["hogehoge"]); 18print(results["flg"]); 19print(results.rest);// 残りのパラメータ 20}
投稿2014/10/05 02:30
総合スコア56
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/10/08 01:55