2014年1月18日土曜日

開発環境

Real World Haskell―実戦で学ぶ関数型言語プログラミング(Bryan O'Sullivan (著)、 John Goerzen (著)、 Don Stewart (著)、山下 伸夫 (翻訳)、伊東 勝利 (翻訳)、株式会社タイムインターメディア (翻訳)、オライリージャパン)の3章(型を定義し、関数を単純化する)、3.13(ガードの条件節の評価)、練習問題6.をDartで解いてみる。

その他参考書籍

練習問題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 コメント:

コメントを投稿