開発環境
- 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(練習問題)、8をDartで解いてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
9.5(練習問題)、8.
コード
sample.dart
import 'dart:html';
import 'dart:math' as math;
void main() {
InputElement input = querySelector('#t0');
InputElement run = querySelector('#run_dart');
InputElement clear = querySelector('#clear');
Element pre = querySelector('#pre0');
math.Random random = new math.Random();
run.onClick.listen((MouseEvent event){
String result = '${window.navigator.userAgent}\n';
try{
int n = int.parse(input.value);
new List(n).forEach((e){
Map<String, num> colors = new Map.fromIterable(
['R', 'G', 'B'], key:(String s) => s,
value:(String s) => random.nextInt(6) / 10);
result += '$colors, isBalanced: ${isBalanced(colors)}\n';
});
} catch (e){
result += '$e\n';
}
pre.text = result;
});
clear.onClick.listen((MouseEvent event) => pre.text = '');
}
bool isBalanced(Map<String, num> colors){
return colors.values.fold(0, (num prev, num n) => prev + n) == 1;
}
0 コメント:
コメントを投稿