Dartの実行モードには、プロダクション モードとチェック モードがあります。プロダクション モードでは、変数の代入などについて型による制限はありませんが、チェック モードでは型のチェックがコンパイル時と実行時に行われます。
開発時はチェック モードで動作させ、製品リリース後はプロダクション モードで動かす、といった使い方が想定されます。
そのため何も指定せずにDartスクリプトを実行するとプロダクション モードで動きます。チェック モードで動かす方法は次のとおりです。
Dartboard の場合
画面左上にあるChecked Modeにチェックを入れます。
dart(Dart VM)の場合
--enable_type_checks フラグを指定します。
$ cat test.dart main() { int a = 'a'; } $ dart --enable_type_checks test.dart 'test.dart': Failed type check: line 1 pos 18: type 'OneByteString' is not assignable to type 'int' of 'a'. 0. Function: '::main' url: 'test.dart' line:1 col:18
frogc( Dart-to-JavaScript compiler)の場合
Dart VMと同じ --enable_type_checks フラグ、または --checked フラグを指定します。
$ cat test.dart main() { int a = 'a'; } $ frogc --enable_type_checks test.dart test.dart:1:18: warning: type "dart:core.String" is not assignable to "dart:core.int" main() { int a = 'a'; } ^^^
Dartium (Chromium with the Dart VM)の場合
Dartium内蔵のDart VMに渡すフラグは、DART_FLAGS環境変数で指定できます。ここにDart VMと同じフラグを指定します。
Ubuntuの場合は次のようになります。
DART_FLAGS='--enable_type_checks' chrome
Dart Editorの場合
スクリプトの実行設定画面の Run in check mode のチェックを入れます。
こちらもどうぞ
0 件のコメント:
コメントを投稿