]> git.deb.at Git - debienna.git/blob - FunctionGenerator/index.mdwn
use unix newlines everywhere
[debienna.git] / FunctionGenerator / index.mdwn
1 MarkusRaab hat gefragt ob es möglich ist mit funktionaler Programmierung
2 auch ein neues Array zu erzeugen.
3
4 Lösung in Python:
5
6 {{{
7 def creator (f,c,n):
8         if n==1:
9                 return c
10         else:
11                 return creator (f, lambda x: f(c(x)), n-1)
12
13
14 f=creator (lambda y: y + [1], lambda x:x, 5)
15 print f([])
16 }}}
17
18 Lösung in Lisp
19 {{{
20 (define (creator f c n)
21   (cond ((= n 0)
22          c)
23         (else
24          (creator f
25                   (f c)
26                   (- n 1)))))
27
28 ((creator (lambda (x)
29             (lambda (y) (x (cons 'a y))))
30            (lambda (x) x)
31            7)
32  '())
33 }}}
34 ----
35 CategoryCodeSnippets