開発環境
- 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(著)長尾 高弘(翻訳))の9章(集合と辞書)、9.5(練習問題)、12をDartで解いてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
9.5(練習問題)、12.
コード
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'; [scientists1, scientists2].forEach((Map<String, Map> m){ result += 'database: $m\n';; result += 'database consistent: ${dbConsistent(m)}\n'; }); pre.text = result; }); clear.onClick.listen((MouseEvent event) => pre.text = ''); } bool dbConsistent(Map<String, Map> m){ List ms = m.values.toList(); Set heading = new Set.from(ms.first.keys); for (var n in ms.sublist(1)){ if (!heading.difference(new Set.from(n.keys)).isEmpty){ return false; } } return true; } Map<String, Map> scientists1 = {'Jグドール': { '姓': 'ゴドール', '名': 'ジェーン', '生年': 1934, '没年': null, '注目': '霊長類研究者', '著作': ['In the Shadow of Man', 'The Chimpanzees of Gombe']}, 'Rフランクリン': {'姓': 'フランクリン', '名': 'ロザリンド', '生年': 1920, '没年': 1957, '注目': 'DNAの発見に貢献'}, 'Rカーソン': {'姓': 'カーソン', '名': 'レイチェル','生年': 1907, '没年': 1964, '注目': 'DDTの毒外に注意を喚起', '著作': ['沈黙の春']}}; Map<String, Map> scientists2 = {'Jグドール': { '姓': 'ゴドール', '名': 'ジェーン', '生年': 1934, '没年': null, '注目': '霊長類研究者', '著作': ['In the Shadow of Man', 'The Chimpanzees of Gombe']}, 'Rカーソン': {'姓': 'カーソン', '名': 'レイチェル','生年': 1907, '没年': 1964, '注目': 'DDTの毒外に注意を喚起', '著作': ['沈黙の春']}};
0 コメント:
コメントを投稿