2013年11月27日水曜日

開発環境

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

その他参考書籍

9.5(練習問題)、10.

コード

sample.dart

import 'dart:html';
import 'dart:math' as math;

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';
    int i;
    for (i = 0; i < 10; i += 1){
      Map m1 = mkMap();
      Map m2 = mkMap();
      result += 'map1: $m1\nmap2: $m2\nmap : ${mapIntersect(m1, m2)}\n';
    }
    pre.text = result;
  });
  clear.onClick.listen((MouseEvent event) => pre.text = '');
}

Map mapIntersect(Map m1, Map m2){
  Map m = {};
  for (var k1 in m1.keys){
    for (var k2 in m2.keys){
      if (k1 == k2){
        m[k1] = m1[k1];
      }
    }
  }
  return m;
}

math.Random random = new math.Random();
Map<String, int> mkMap(){
  return new Map.fromIterables(
      new List.generate(10,
          (int index) => new String.fromCharCode(random.nextInt(26) + 97)),
      new List.generate(10,
          (int index) => random.nextInt(10)));
}














						

0 コメント:

コメントを投稿