開発環境
- OS X Mavericks - Apple (OS)
- Dart Editor (開発環境)
- Dartium | Dart/ Structured web apps (ブラウザ, Dart VM 用 (Chromium with the Dart VM))
- Safari (ブラウザ, JavaScript 用)
- Dart (プログラミング言語)
初めてのコンピュータサイエンス(Jennifer Campbell、Paul Gries、Jason Montojo、Greg Wilson(著)長尾 高弘(翻訳))の12章(各種ツール)、12.7(練習問題)、12-11.をDartで解いてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
12.7(練習問題)、12-11.
コード
sample.dart
import 'dart:html';
void main() {
InputElement run = querySelector('#run_dart');
InputElement clear = querySelector('#clear');
Element pre = querySelector('#pre0');
run.onClick.listen((MouseEvent event){
pre.text = '${window.navigator.userAgent}\n';
[testRemoveFromEmpty, testRemoveFromOnItemList, testRemoveSomethingElse,
testRemoveMultiple].forEach(
(var f) => pre.text += '${f() ? 'OK' : 'FAILED'}: $f\n');
});
clear.onClick.listen((MouseEvent event) => pre.text = '');
}
void removeAll(List sequence, var a){
sequence.removeWhere((var elem) => elem == a);
}
List empty_list = [];
List one_item_list = ['He'];
List multi_item_list = ['Ne', 'Ar', 'He', 'He'];
bool testRemoveFromEmpty(){
List temp = empty_list.toList();
removeAll(temp, 'He');
return temp.length == 0;
}
bool testRemoveFromOnItemList(){
List temp = one_item_list.toList();
removeAll(temp, 'He');
return temp.length == 0;
}
bool testRemoveSomethingElse(){
List temp = one_item_list.toList();
removeAll(temp, 'Pb');
return temp.length == 1;
}
bool testRemoveMultiple(){
List temp = multi_item_list.toList();
removeAll(temp, 'He');
return temp.length == 2;
}
Dartと関数名も表示されるのが、dart2jsによるJavaScriptだとClosureとしか出力されないみたい。
0 コメント:
コメントを投稿