開発環境
- 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-13.をDartで解いてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
12.7(練習問題)、12-13.
コード
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');
var random = new math.Random();
run.onClick.listen((MouseEvent event){
pre.text = '${window.navigator.userAgent}\n';
try{
var s = [];
pre.text += '$s\n';
findMinAndMax([]);
} catch(e){
pre.text += '$e\n';
}
List<num> nums = new List.generate(10,
(int index) => random.nextInt(100));
var e = findMinAndMax(nums);
pre.text += '$nums\n最大値: ${e.last}\n最小値: ${e.first}';
});
clear.onClick.listen((MouseEvent event) => pre.text = '');
}
List<List<num>> findMinAndMax(Iterable<num> sequence){
if(sequence.length == 0){
throw "空っぽ";
}
num min = sequence.first;
num max = sequence.first;
for(num n in sequence){
if(n < min){
min = n;
}
if (n > max){
max = n;
}
}
return [min, max];
}
0 コメント:
コメントを投稿