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