開発環境
- 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(練習問題)、7をDartで解いてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
9.5(練習問題)、7.
コード
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'; Map<String, int> m = {'a':1, 'b':2}; result += 'Map: $m\n'; var temp = fetchAndSet(m, 'a', 3); result += '元の値: $temp, $m\n'; try{ temp = fetchAndSet(m, 'c', 4); result += '元の値: $temp, $m\n'; } catch (e){ result += '$e\n'; } pre.text = result; }); clear.onClick.listen((MouseEvent event) => pre.text = ''); } fetchAndSet(Map m, var key, var value){ if (m.containsKey(key)){ var temp = m[key]; m[key] = value; return temp; } throw 'Unable to replace value for nonexistent key'; }
出力結果から、DartのMapは関数で書き換え可能なので、参照みたい。
0 コメント:
コメントを投稿