-das ist direkt version 3.\r
-\r
-schritt eins war sehr hart. musste noch viel scheme zeug lernen. 2 und 3 war eher piece of cake ;)\r
-\r
-FIXME: die zeilen bevor die daten anfangen, hab ich einfach rausgeloescht, das koennte besser sein.\r
-FIXME: ich glaub file einlesen koennte einfacher gehen.\r
-\r
-{{{\r
-#!/usr/bin/scsh \\r
--o big-scheme -s\r
-!#\r
-\r
-(define (datamunge file comment resulter comparer)\r
- (begin\r
- (display comment)\r
- (display\r
- (car\r
- (sort-list\r
- (call-with-input-file file\r
- (lambda (port)\r
- (awk ((field-reader (field-splitter (rx (+ (~ white "*" "-"))))) port)\r
- (record fields)\r
- ((resultlist (list)))\r
- (else\r
- (cons (list (resulter fields)\r
- (comparer fields))\r
- resultlist)))))\r
- (lambda (a b)\r
- (< (cadr a) (cadr b))))))\r
- (newline)))\r
-\r
-(datamunge "/home/lefant/scheme/code/kata04_data1.txt" "weather"\r
- car\r
- (lambda (alist) (- (string->number (list-ref alist 1))\r
- (string->number (list-ref alist 2)))))\r
-\r
-(datamunge "/home/lefant/scheme/code/kata04_data2.txt" "soccer"\r
- cadr\r
- (lambda (alist) (abs (- (string->number (list-ref alist 6))\r
- (string->number (list-ref alist 7))))))\r
-}}}\r
-----\r
-CategoryCodeSnippets
\ No newline at end of file