2012年3月2日金曜日

Dartをチェックモードで動かす方法

このエントリーをはてなブックマークに追加
この情報は古くなっています。新しい記事を書きましたのでそちらを参照してください。: Dartをチェックモードで動かす方法(更新版)


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 件のコメント:

コメントを投稿