Verwendungssituationen
Anonyme Funktionen verwenden
Anononyme Funktionen verwendet man, wenn der zugehörige Funktionsausdruck kurz ist und die Funktion nur einmal benutzt wird. Eine typische Anwendungssituation ist die Verwendung innhalb von Listenoperatoren.
> List.map ( \ x -> x+1 ) [1, 2, 3, 4]
[2,3,4,5] : List number
> List.filter ( \ x -> (x>0) ) [0, 1, -1, 2, -2]
[1,2] : List number
> List.foldr ( \ x y -> x+y ) 0 [1,2,3,4,5]
15 : number
Aufgabe 1
Erstelle selbst weitere Anwendungen innerhalb von Listenoperatoren.
Funktionen mit Namen verwenden
Funktionen mit Namen verwendet man, wenn der zugehörige Funktionsausdruck länger ist und/oder die Funktion mehrfach benutzt wird. Hier eine typische Anwendungssituation:
> max x y =
| if x >= y then
| x
| else
| y
|
<function> : comparable -> comparable -> comparable
> max3 x y z =
| max (max x y) z
|
<function> : comparable -> comparable -> comparable -> comparable
> max3 5 1 6
6 : number
Aufgabe 2
Entwickle analog eine Funktion min4
, mit der man das Minumum von 4 Zahlen bestimmen kann.