]> git.deb.at Git - debienna.git/blob - ScSh/index.mdwn
clearification
[debienna.git] / ScSh / index.mdwn
1
2 das ist direkt version 3.
3
4 schritt eins war sehr hart. musste noch viel scheme zeug lernen. 2 und 3 war eher piece of cake ;)
5
6 FIXME: die zeilen bevor die daten anfangen, hab ich einfach rausgeloescht, das koennte besser sein. FIXME: ich glaub file einlesen koennte einfacher gehen.
7
8
9 [[!format txt """
10 #!/usr/bin/scsh \
11 -o big-scheme -s
12 !#
13
14 (define (datamunge file comment resulter comparer)
15   (begin
16     (display comment)
17     (display
18      (car
19       (sort-list
20        (call-with-input-file file
21          (lambda (port)
22            (awk ((field-reader (field-splitter (rx (+ (~ white "*" "-"))))) port)
23                 (record fields)
24                 ((resultlist (list)))
25                 (else
26                  (cons (list (resulter fields)
27                              (comparer fields))
28                        resultlist)))))
29        (lambda (a b)
30          (< (cadr a) (cadr b))))))
31     (newline)))
32
33 (datamunge "/home/lefant/scheme/code/kata04_data1.txt" "weather"
34            car
35            (lambda (alist) (- (string->number (list-ref alist 1))
36                               (string->number (list-ref alist 2)))))
37
38 (datamunge "/home/lefant/scheme/code/kata04_data2.txt" "soccer"
39            cadr
40            (lambda (alist) (abs (- (string->number (list-ref alist 6))
41                                    (string->number (list-ref alist 7))))))
42 """]]
43
44
45 ---
46
47  [[CategoryCodeSnippets|CategoryCodeSnippets]]