開発環境
- 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(著)長尾 高弘(翻訳))の12章(各種ツール)、12.7(練習問題)、12-7.をDartで解いてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
12.7(練習問題)、12-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){
pre.text = '${window.navigator.userAgent}\n';
int passes = 0;
int failures = 0;
int exception = 0;
test_cases.forEach((var s){
try{
if(average(s.last) == s.first){
passes += 1;
} else {
failures += 1;
}
}catch (e){
exception += 1;
}
});
pre.text = '合格: $passes\n不合格: $failures\n例外: $exception';
});
clear.onClick.listen((MouseEvent event) => pre.text = '');
}
num sum(List<num> nums){
return nums.fold(0, (var prev, num n) => prev += n);
}
num average(List<num> nums){
if (nums.length == 0){
throw "空っぽ";
}
return sum(nums) / nums.length;
}
List<List<num>> test_cases = [[null, []],
[0.0, [0.0]],
[0.0, [-1.0, 1.0]],
[1.0, [0.0, 2.0]],
[2.0, [0.0, 1.0, 2.0, 3.0, 4.0]]];
0 コメント:
コメントを投稿