]> git.deb.at Git - debienna.git/blob - FunctionGenerator/index.mdwn
linuxwochen-content zusammengefasst und alle erwaehnten punkte aufgenommen
[debienna.git] / FunctionGenerator / index.mdwn
1
2 [[MarkusRaab|MarkusRaab]] hat gefragt ob es möglich ist mit funktionaler Programmierung auch ein neues Array zu erzeugen.
3
4 Lösung in Python:
5
6
7 [[!format txt """
8 def creator (f,c,n):
9         if n==1:
10                 return c
11         else:
12                 return creator (f, lambda x: f(c(x)), n-1)
13
14
15 f=creator (lambda y: y + [1], lambda x:x, 5)
16 print f([])
17 """]]
18 Lösung in Lisp
19 [[!format txt """
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
36 ---
37
38  [[CategoryCodeSnippets|CategoryCodeSnippets]]