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