開発環境
- OS X Mavericks - Apple (OS)
- Dart Editor (開発環境)
- Dartium | Dart/ Structured web apps (ブラウザ, Dart VM 用 (Chromium with the Dart VM))
- Safari (ブラウザ, JavaScript 用)
- Dart (プログラミング言語)
Head First Java 第2版 ―頭とからだで覚えるJavaの基本(Kathy Sierra (著)、Bert Bates (著)、島田 秋雄 (監修)、神戸 博之 (監修)、高坂 一城 (監修)、夏目 大 (翻訳)、オライリージャパン)の16章(コレクションとジェネリック型)、自分で考えてみよう(p.549)をDartで考えてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
自分で考えてみよう(リバースエンジニアリング(p.554))
コード
sample.dart
import 'dart:html';
void main() {
run.onClick.listen((MouseEvent event) {
mtn = [];
mtn.add(new Mountain("Longs", 14255));
mtn.add(new Mountain("Elbert", 14433));
mtn.add(new Mountain("Maroon", 14156));
mtn.add(new Mountain("Castle", 14265));
pre.text = 'asentered:\n$mtn\n';
mtn.sort(Mountain.nameCompare);
pre.text += 'by nam:\n$mtn\n';
mtn.sort(Mountain.heightCompare);
pre.text += 'by height:\n$mtn\n';
pre.text +=
'is Comprator?(Comparator typedef, typedef int Comparator(T a, T b)):\n';
pre.text += '${Mountain.heightCompare is Comparator}\n';
pre.text += '${Mountain.nameCompare is Comparator}\n';
pre.text += '${main is Comparator}\n';
});
clear.onClick.listen((MouseEvent event) => pre.text = '');
}
ButtonElement run = querySelector('#run_dart');
ButtonElement clear = querySelector('#clear');
PreElement pre = querySelector('#pre0');
List<Mountain> mtn;
class Mountain {
static int nameCompare(Mountain a, Mountain b) => a.name.compareTo(b.name);
static int heightCompare(Mountain a, Mountain b) => b.height - a.height;
String name;
int height;
Mountain(this.name, this.height);
String toString() => '$name $height';
}
0 コメント:
コメントを投稿