i

Anonyme Funktionen

Funktionen ohne Namen definieren

Die folgenden REPL-Dialoge zeigen verschiedene Möglichkeiten, eine Funktion zu definieren, die eine Zahl um 1 erhöht.

Version 1: Standarddefinition mit Funktionsname

> plus1 x = x+1
<function> : number -> number
> plus1 2
3 : number

Version 2: Funktionsname verknüpft mit einer Zuordnung

> plus1 = \ x -> x+1
<function> : number -> number
> plus1 2
3 : number

Version 3: Zuordnung als anonyme Funktion

> \ x -> x+1
<function> : number -> number
> (\ x -> x+1) 2
3 : number

Beachte: Eine Zuordnung wird in der Form \ ... -> ... dargestellt. Nach dem \-Symbol folgen die Parameter, nach dem ->-Symbol folgt der Funktionsausdruck.

Aufgabe 1

Stelle die folgenden Funktionen als anonyme Funktionen dar und teste sie mit geeigneten Funktionsaufrufen.

> durch2 5
2.5 : Float
> mit3 l = 3 :: l
<function> : List number -> List number
> mit3 [4, 2, 8]
[3,4,2,8] : List number
> punkt x y = (x,y)
<function> : a -> b -> ( a, b )
> punkt 2 -1
(2,-1) : ( number, number1 )
> ohneErstes s = String.dropLeft 1 s
<function> : String -> String
> ohneErstes "Haus"
"aus" : String

Suche

v
8.2.2.12.1.1.2
inf-schule.de/deklarativ/fp_elm/elm_programme/funktionenerzeugen/definition/lernstrecke/anonym
inf-schule.de/8.2.2.12.1.1.2
inf-schule.de/@/page/NSesMXj3BqKe3wRn

Rückmeldung geben