とりあえず
に従い、Flutterの環境構築をして、Dartの文法を少しDartの公式doc等で勉強し始めた過程でDartPad(※ブラウザ上でDartのコードを「ある程度」試せる公式の無料の実行環境)で試せないものが出てきたため、それをVSCode、Android Studioで試そうとしたら少し詰まったときの備忘録です。⇒詰まった過程
結論
Dart単発のファイルを試してみるときは、Flutter SDKとは別に Dart SDKのインストールが必要
⇒Flutterプロジェクト内に組み込みたい小さな.dartのファイルのようなものの挙動を調べる時はPython等と同様に(上記の記事の設定後であれば)以下のようにできるようです。
(1)ターミナル(CLI(Command Line Interface):コマンドでプログラム実行したりビルドしたりするためのもの)を開く
※筆者は職場環境に合わせて私用PCもWindowsに合わせているため、Macユーザーの方は以下の主な参考資料②なども参考にしてください
(2)(実行したいフォルダのところまでcdとかで移動させた状態で)以下のコマンドを実行する
dart run 実行したいファイル名.dart (コマンドライン引数)
//コマンドライン引数が不要なファイルの場合は省略可能
※今回試したものは
dart run function_sample1.dart 1 test
※assertを無効化しないで実行したい場合は
dart run --enable-asserts 実行したいファイル名.dart (コマンドライン引数)
詰まった過程
DartPadでは、例えば次のコード(実行時にコマンドライン引数を引き渡す必要があるコード)は試せない
// Run the app like this: dart run args.dart 1 test
void main(List<String> arguments) {
print(arguments);
assert(arguments.length == 2);
assert(int.parse(arguments[0]) == 1);
assert(arguments[1] == 'test');
}
なお、これは以下の公式チュートリアルにあるサンプルコードで、
コメント部分にある
dart run args.dart 1 test
というコマンドで、「1」「test」というの2つの値を
arguments = ['1', 'test']
という変数に渡した状態で実行すると、それが下の3行のassert文の条件の網をかいくぐり、そのままprintされるというもの
(※ここでは「1」「test」がコマンドライン引数(主な参考資料①参照)にあたる)
一方、DartPadは以下の画像を見てもらえば一目瞭然のように
コードを試すときは「▶Run」のボタンを押して実行することになるので、そもそも実行時に変数を渡すことができない(⇒結果、上のコードをただ入力して「▶Run」を押すと次のように怒られる)
assert()とは
「assert() 以前の部分がassertの()の中の条件を満たす場合は何も起こらないが、間違っている場合はエラーになる」というチェック機能
例えば、
assert(count == 2)としてみると、ぞれ以前の上の2行に問題はないが、count には1が代入されているため、以下のような「assert文を満たしていない」という趣旨のエラーが出てエラーになる
主な参考資料
①「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典(コマンドライン引数)
https://wa3.i-3-i.info/word11643.html
②Android開発30日間マスターシリーズ - Day2: Android Studioを使いこなす - 初心者が知るべき基本操作とプロジェクト作成 @555hamano(Akr) さんQiita
https://qiita.com/555hamano/items/0c9cf6c08d5d86a6f78b






