質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

Q&A

解決済

2回答

1777閲覧

Dartのコマンドライン引数の扱いが分からない

queens

総合スコア37

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

0グッド

0クリップ

投稿2014/10/04 05:47

Dartのコマンドラインアプリを書こうとしているのですが、
引数の取り方が良くわかりません。
どうやればいいのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答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

yohshiy

総合スコア863

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

queens

2014/10/08 01:55

回答ありがとうございます。参考になりました!!
guest

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

impres

総合スコア56

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問