0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Flutter学習備忘録⑥ Dart単発のファイルをVSCodeやAndroid StudioにおいてCLIで実行する方法

Last updated at Posted at 2025-12-27

とりあえず

に従い、Flutterの環境構築をして、Dartの文法を少しDartの公式doc等で勉強し始めた過程でDartPad(※ブラウザ上でDartのコードを「ある程度」試せる公式の無料の実行環境)で試せないものが出てきたため、それをVSCodeAndroid Studioで試そうとしたら少し詰まったときの備忘録です。⇒詰まった過程

結論

Dart単発のファイルを試してみるときは、Flutter SDKとは別に Dart SDKのインストールが必要
⇒Flutterプロジェクト内に組み込みたい小さな.dartのファイルのようなものの挙動を調べる時はPython等と同様に(上記の記事の設定後であれば)以下のようにできるようです。

(1)ターミナル(CLI(Command Line Interface):コマンドでプログラム実行したりビルドしたりするためのもの)を開く

VSCodeで試す場合

flutter_terminal_CLI1.png

Android Studioで試す場合

「ハンバーガーメニュー(三本線)」⇒「View」⇒「Tool Windows」⇒「Terminal」

flutter_terminal_CLI2.png

※筆者は職場環境に合わせて私用PCもWindowsに合わせているため、Macユーザーの方は以下の主な参考資料②なども参考にしてください

(2)(実行したいフォルダのところまでcdとかで移動させた状態で)以下のコマンドを実行する

dart run 実行したいファイル名.dart (コマンドライン引数)
//コマンドライン引数が不要なファイルの場合は省略可能

※今回試したものは

dart run function_sample1.dart 1 test

(1)の折りたたみの画像にあるように、例えば

dart run function_sample1.dart 2 tst

などのコマンドをたたくと、本来であればassertのせいでエラーになるよう思うんですが、これは 「CLI実行(JIT)」と「Flutter実行(JIT/Debug または AOT/Release)」で、開発用チェック・ログ・最適化の一部が無効化または削除される かららしいです。(ここではassertが無効化されて実行されている)

assertを無効化しないで実行したい場合

dart run --enable-asserts 実行したいファイル名.dart (コマンドライン引数)
assertを無効化しないようにしてわざと途中でエラーを出させた場合

image.png


詰まった過程

DartPadでは、例えば次のコード(実行時にコマンドライン引数を引き渡す必要があるコード)は試せない

function_sample1.dart
// 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は以下の画像を見てもらえば一目瞭然のように

image.png

コードを試すときは「▶Run」のボタンを押して実行することになるので、そもそも実行時に変数を渡すことができない(⇒結果、上のコードをただ入力して「▶Run」を押すと次のように怒られる)

image.png


assert()とは

「assert() 以前の部分がassertの()の中の条件を満たす場合は何も起こらないが、間違っている場合はエラーになる」というチェック機能

例えば、

image.png

assert(count == 2)としてみると、ぞれ以前の上の行に問題はないが、count には1が代入されているため、以下のような「assert文を満たしていない」という趣旨のエラーが出てエラーになる

image.png

主な参考資料

①「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典(コマンドライン引数)
https://wa3.i-3-i.info/word11643.html

②Android開発30日間マスターシリーズ - Day2: Android Studioを使いこなす - 初心者が知るべき基本操作とプロジェクト作成  @555hamano(Akr) さんQiita
https://qiita.com/555hamano/items/0c9cf6c08d5d86a6f78b

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?