開発環境
- OS X Mavericks - Apple (OS)
- Dart Editor (開発環境)
- Dartium | Dart/ Structured web apps (ブラウザ, Dart VM 用 (Chromium with the Dart VM))
- Safari (ブラウザ, JavaScript 用)
- Dart (プログラミング言語)
Real World Haskell―実戦で学ぶ関数型言語プログラミング(Bryan O'Sullivan (著)、 John Goerzen (著)、 Don Stewart (著)、山下 伸夫 (翻訳)、伊東 勝利 (翻訳)、株式会社タイムインターメディア (翻訳)、オライリージャパン)の3章(型を定義し、関数を単純化する)、3.13(ガードの条件節の評価)、練習問題6.をDartで解いてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
練習問題6.
コード
sample.dart
import 'dart:html';
ButtonElement run = querySelector('#run_dart');
ButtonElement clear = querySelector('#clear');
PreElement pre = querySelector('#pre0');
int main(){
run.onClick.listen((MouseEvent event){
pre.text = window.navigator.userAgent + '\n';
x.forEach((var e) =>
pre.text += 'ソート前: $e\nソート後: ${sortBySubListLength(e)}\n');
});
clear.onClick.listen((MouseEvent event) => pre.text = '');
}
List<List> sortBySubListLength(List<List> sequences){
var data = sequences.toList();
data.sort((List a, List b) => a.length - b.length);
return data;
}
var a = [[1,2,3,4,5], [1], [1,2,3,4], [1,2], [1,2,3]];
var b = [[1], []];
var c = [[1,2],[1,2],[1,2],[1,2],[1,2]];
var d = [[]];
var e = [];
var x = [a, b, c, d, e];
0 コメント:
コメントを投稿