i

Der Pipe-Operator

Groß- in Kleinbuchstaben umwandeln

Die Umwandlung von Groß- in Kleinbuchstaben kann man mit Hilfe von drei hintereinander ausgeführten Funktionen umsetzen:

Char.toCode 'G' -> 71 
((+) 32) 71 -> 103
Char.fromCode 103 -> 'g'

Der REPL-Dialog zeigt eine Implementierung mit ineinandergeschachtelten Funktionsaufrufen.

> grossNachKlein = \b -> Char.fromCode (((+) 32) (Char.toCode b))
<function> : Char -> Char
> grossNachKlein 'G'
'g' : Char

Lesbarer wird das Hintereinanderschalten von Funktionsaufrufen, wenn man den Pipe-Operator |> verwendet. Dieser Operator reicht die Rückgabe der Vorgängerfunktion an die Nachfolgerfunktion (bei mehreren Parametern an den letzten) weiter.

> grossNachKlein  = ( \b -> b |> Char.toCode |> ((+) 32) |> Char.fromCode )
<function> : Char -> Char
> grossNachKlein 'G'
'g' : Char

Aufgabe 1

Teste die gezeigte Implementierung der Umwandlung von Groß- in Kleinbuchstaben.

Aufgabe 2

Entwickle analog eine Umwandlung von Klein- in Großbuchstaben.

Hinweis: Beachte, dass die Funktion (-) 32 nicht das Gewünschte leistet. Benutze stattdessen eine anonyme Funktion vom Typ ( \x -> ... ).

Suche

v
8.2.2.6.3.1
www.inf-schule.de/deklarativ/fp_elm/elm_programme/funktionenerzeugen/komposition/lernstrecke
www.inf-schule.de/8.2.2.6.3.1
www.inf-schule.de/@/page/jClWcTAlOgKPwwRS

Rückmeldung geben