X-Git-Url: https://git.deb.at/?p=debienna.git;a=blobdiff_plain;f=FunctionGenerator%2Findex.mdwn;h=8cc708723d8768f7ff231a6e85fa97bd867dd0a5;hp=3eedb4bb079cfe970b4a6c0f49e96bdfac44b227;hb=096ccad2de573f503e177bb76164614337f92da3;hpb=03f21b78031894077ed4056eea938d6714c6f3c6 diff --git a/FunctionGenerator/index.mdwn b/FunctionGenerator/index.mdwn index 3eedb4b..8cc7087 100644 --- a/FunctionGenerator/index.mdwn +++ b/FunctionGenerator/index.mdwn @@ -1,35 +1,35 @@ -MarkusRaab hat gefragt ob es möglich ist mit funktionaler Programmierung -auch ein neues Array zu erzeugen. - -Lösung in Python: - -{{{ -def creator (f,c,n): - if n==1: - return c - else: - return creator (f, lambda x: f(c(x)), n-1) - - -f=creator (lambda y: y + [1], lambda x:x, 5) -print f([]) -}}} - -Lösung in Lisp -{{{ -(define (creator f c n) - (cond ((= n 0) - c) - (else - (creator f - (f c) - (- n 1))))) - -((creator (lambda (x) - (lambda (y) (x (cons 'a y)))) - (lambda (x) x) - 7) - '()) -}}} ----- +MarkusRaab hat gefragt ob es möglich ist mit funktionaler Programmierung +auch ein neues Array zu erzeugen. + +Lösung in Python: + +{{{ +def creator (f,c,n): + if n==1: + return c + else: + return creator (f, lambda x: f(c(x)), n-1) + + +f=creator (lambda y: y + [1], lambda x:x, 5) +print f([]) +}}} + +Lösung in Lisp +{{{ +(define (creator f c n) + (cond ((= n 0) + c) + (else + (creator f + (f c) + (- n 1))))) + +((creator (lambda (x) + (lambda (y) (x (cons 'a y)))) + (lambda (x) x) + 7) + '()) +}}} +---- CategoryCodeSnippets \ No newline at end of file