Funktionel programmering Flashcards
internal iterators
funktioner (map), der selv styrer gennemløb af en datastruktur.
Man beskriver hvad der skal gøres – ikke hvordan det skal gennemløbes.
functional interfaces
Et interface med præcis én abstrakt metode, som kan implementeres ved hjælp af et lambda-udtryk.
The biggest advantage of adopting functional programming
pure functions and immutable states
Hvad er funktionel programmering?
man kombinerer rene funktioner og undgår sideeffekter
lambda
det samme som en funktion, bare uden navn. Det kaldes også en anonym funktion
Zeroargument
en funktion uden argumenter
Consumer functional interface
et functional interface
Det bruges, når vi ønsker at acceptere en input-værdi, men ikke returnere noget.
Hvordan kombinerer vi flere operationer?
andThen()
hvad gør filter
filtrere elementer fra en samling baseret på en betingelse
hvad gør map?
løber alle elementer i arrayet igennem og udføre en funktion på disse, resultatet af funktionen lægges over i et nyt array.
shvad gør stream?
der kommer vand indtil man lukker
Hvad er predicate?
Et functional interface, der tager én parameter af typen T og returnerer en boolean værdi.
Hvad er foreach?
forEach er en funktion/metode i Array klassen i JavaScript. forEach tager en funktion som parameter. Den overførte funktion bliver kaldt 1 gang for hvert element i arrayet og elementet bliver overført som parameter til funktionen.
pure functions
giver altid samme output for samme input
hvad handler funktionel programmering om?
immutability, higher-order functions, and avoiding side effects.
Predicate
Predicate er et functional interface med en funktion som tager en parameter og returnerer en boolean
Hvordan overføres en funktion som parameter i Java, når der ikke findes en funktionstype?
Ved at bruge functional interfaces, dvs. interfaces med præcis én abstrakt metode, som kan implementeres med lambda-udtryk.
Hvad er forskellen mellem forEach og map i JavaScript?
forEach udfører en handling for hvert element, men returnerer ikke noget.
map udfører en handling og returnerer et nyt array med de transformerede værdier.
Giv et ekesmpel på funktionelt interface
public interface OneArgument {
void myFunc(String str);
}
Hvad gør map() metoden i Java Streams?
Den transformerer hvert element i en Stream og returnerer en ny Stream med de ændrede værdier.
Eksempel:
Hvad gør flatMap() i Java Streams?
Den flader en Stream af Streams ud til én samlet Stream.