Funktionen ohne Namen
Funktionen ohne Namen erzeugen
Die Funktion mindestensGut
ist sehr klein. Wenn wir in unseren
Programmen Funktionen derart klein dimensionieren, benötigen wir wahrscheinlich sehr
viele Funktionen, die dann möglicherweise nur an einer Stelle aufgerufen werden.
Man könnte an dieser Stelle auf eine benannte Funktion verzichten und eine Funktion durch partiellen Funktionsaufruf erzeugen:
> List.filter ((<=) 10) [14, 7, 12, 10, 15, 4, 8]
[14,12,10,15] : List number
Aufgabe 1
Erkläre den Aufbau des Ausdrucks.
Funktionen ohne Namen definieren
Die oben erzeugte Funktion ist nicht besonders gut lesbar. Stattdessen können wir die Schreibweise für anonyme Funktionen in Elm verwenden. Der folgende Dialog demonstriert dies an einer einfachen Funktion.
> plus1 x = x + 1
...
> plus1 2
...
> plus1 = \x -> x+1
...
> plus1 2
...
> \x -> x+1
...
> (\x -> x+1) 2
...
Aufgabe 2
Stelle Vermutungen auf, was die einzelnen Zeilen bewirken könnten und teste in der REPL.
Aufgabe 3
Nutze dein neues Wissen, um den folgenden REPL-Dialog mit Hilfe einer anonymen Funktion
zu ergänzen.
> List.filter _______________ [14, 7, 12, 10, 15, 4, 8]
[14,12,10,15] : List number