2014年4月9日水曜日

開発環境

Head First Java 第2版 ―頭とからだで覚えるJavaの基本(Kathy Sierra (著)、Bert Bates (著)、島田 秋雄 (監修)、神戸 博之 (監修)、高坂 一城 (監修)、夏目 大 (翻訳)、オライリージャパン)の16章(コレクションとジェネリック型)、自分で考えてみよう(p.549)をDartで考えてみる。

その他参考書籍

自分で考えてみよう(リバースエンジニアリング(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 コメント:

コメントを投稿