2013年11月28日木曜日

開発環境

初めてのコンピュータサイエンス(Jennifer CampbellPaul GriesJason MontojoGreg Wilson(著)長尾 高弘(翻訳))の9章(集合と辞書)、9.5(練習問題)、11をDartで解いてみる。

その他参考書籍

9.5(練習問題)、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){
    String result = '${window.navigator.userAgent}\n';
    result += 'database: ${scientists}\n';
    result += 'database headings: ${dbHeadings(scientists)}\n';
    pre.text = result;
  });
  clear.onClick.listen((MouseEvent event) => pre.text = '');
}

Set dbHeadings(Map<String, Map> m){
  return m.values.fold(new Set(),
      (Set s, var m) => s.union(new Set.from(m.keys)));
}

Map<String, Map> scientists = {'Jグドール': {
                                 '姓': 'ゴドール',
                                 '名': 'ジェーン',
                                 '生年': 1934,
                                 '没年': null,
                                 '注目': '霊長類研究者',
                                 '著作': ['In the Shadow of Man', 'The Chimpanzees of Gombe']
                               },
                               'Rフランクリン': {
                                 '姓': 'フランクリン',
                                 '名': 'ロザリンド',
                                 '生年': 1920,
                                 '没年': 1957,
                                 '注目': 'DNAの発見に貢献'
                               },
                               'Rカーソン': {
                                 '姓': 'カーソン',
                                 '名': 'レイチェル',
                                 '生年': 1907,
                                 '没年': 1964,
                                 '注目': 'DDTの毒外に注意を喚起',
                                 '著作': ['沈黙の春']
                               }
                           };














						

0 コメント:

コメントを投稿