FAGPORTALEN

Lambda, map, filter, reduce (funktionsprogrammering)

It A · STX · A-niveau · Avanceret programmering

💻 Lambda, map, filter, reduce (funktionsprogrammering)

Funktionsprogrammering behandler beregning som evaluering af matematiske funktioner — undgår state-changes og mutable data.

First-class functions: funktioner er objekter, kan sendes som argumenter og returneres.

Lambda-udtryk (anonyme funktioner): f = lambda x, y: x + y svarer til def f(x,y): return x+y. Nyttige til kortvarige transformationer.

Map: anvender funktion på hvert element i en sekvens. map(str.upper, ['hej', 'verden'])['HEJ', 'VERDEN'].

Filter: beholder elementer der opfylder en betingelse. filter(lambda x: x>0, [-1,2,-3,4])[2,4].

Reduce (fra functools): aggregerer en liste til énværdi. reduce(lambda acc, x: acc+x, [1,2,3,4])10.

Listforståelser (Python): [x**2 for x in range(10) if x%2==0] — kompakt alternativ til map+filter.

Pure functions: ingen bieffekter — output afhænger kun af input. Nemmere at teste og debugge.

Immutability: undgå at ændre data — skab nye objekter.

Funktionelle rammer: Haskell, Erlang, F# er rent funktionelle. Python, JavaScript og Scala er multi-paradigme.

Læringsmål

Sådan kan du arbejde med emnet

Arbejd iterativt med prototyper og dokumentation. Test, evaluér og dokumentér.

Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.

Prøv Fagportalen gratis

🤖 Denne side er skrevet med kunstig intelligens og fagligt gennemgået af Fagportalen, som har det redaktionelle ansvar. Finder du en fejl, så skriv til support@fagportalen.dk.