X-Git-Url: https://git.deb.at/?p=debienna.git;a=blobdiff_plain;f=FunctionGenerator%2Findex.mdwn;h=7b0f7211576b58563cb59ccada656cc0db618490;hp=3eedb4bb079cfe970b4a6c0f49e96bdfac44b227;hb=315c89e69e08716bd10c183fb78f0784bb81937e;hpb=bb58b440ee60e34e1c961060195598787087c131 diff --git a/FunctionGenerator/index.mdwn b/FunctionGenerator/index.mdwn index 3eedb4b..7b0f721 100644 --- a/FunctionGenerator/index.mdwn +++ b/FunctionGenerator/index.mdwn @@ -1,35 +1,36 @@ -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 + +[[MarkusRaab]] hat gefragt ob es möglich ist mit funktionaler Programmierung auch ein neues Array zu erzeugen. + +Lösung in Python: + + +[[!format txt """ +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 +[[!format txt """ +(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) + '()) +"""]] + + + [[!tag CategoryCodeSnippets]]