i

Fachkonzept - Vordefinierte Funktion

Vordefinierte Funktion als vorgegebene Verarbeitungseinheit

In den letzten Abschnitten haben wir bereits zahlreiche vordefinerte Funktionen benutzt.

Beispiel: Black-Box-Diagramme einer Funktion zum Runden

Black-Box-Diagramm zum Runden

Die Funktion round erzeugt aus einer Float-Zahl die Int-Zahl, die man durch Runden erhält.

Beispiel: Rechenoperation

Black-Box-Diagramm zur ganzzahligen Division

Die Funktion (//) erzeugt aus zwei übergebenen Int-Zahlen die Zahl, die man bei der ganzzahligen Division erhält.

Beispiel: Länge einer Zeichenkette

Black-Box-Diagramm zur Länge einer Zeichenkette

Die Funktion String.length erzeugt aus einer übergebenen Zeichenkette die Länge der Zeichenkette.

Beispiel: Codezahl eines Zeichens

Black-Box-Diagramm zur Codierung eines Zeichens

Die Funktion Char.toCode erzeugt aus einem übergebenen Zeichen die zugehörige Codezahl.

Beispiel: Verknüpfung von Wahrheitswerten

Black-Box-Diagramm zur and-Verknüpfung

Die Funktion (&&) erzeugt aus zwei Wahrheitswerten den Wahrheitswert, den man bei einer und-Verknüpfung erhält.

In allen diesen Beispielen werden mit Hilfe vordefinierter Funktionen aus übergebenen Daten neue Daten berechnet.

Eine vordefinierte Funktion ist eine vorgegebene Verarbeitungseinheit, die übergebene Datenwerte verarbeitet und einen daraus berechneten Datenwert als Funktionswert zurückgibt.

Im nächsten Kapitel werden wir uns noch intensiver mit Funktionen beschäftigen.

Datentypen und Funktionen

Funktionen erhalten beim Aufruf Werte verschiedener Datentypen und geben genau einen Wert eines bestimmten Datentyps zurück. Die Typen der Parameter und der Rückgabe erkennt man an der Signatur, die man z.B. erhält, wenn man in der REPL einfach den Funktionsnamen schreibt:

> round
<function> : Float -> Int

Bei Operatoren wie z.B. der ganzzahligen Division muss man die Präfix-Schreibweise in Klammern benutzen, um die Signatur experimentell zu ermitteln. Diese Schreibweise kann man auch nutzen, um Operatoren wie alle anderen Funktionen auch aufzurufen. Meist nutzt man aber die Infix-Schreibweise.

> (//)       -- Präfix-Schreibweise
<function> : Int -> Int -> Int
> 10 // 3    -- Übliche Benutzung in Infix-Schreibweise
3 : Int
> (//) 10 3  -- Alternative Benutzung wie bei anderen Funktionen
3 : Int

Der rechteste Datentyp gibt immer den Rückgabetyp an, alle anderen die Datentypen der Parameter. Die Schreibweise wirkt eventuell etwas seltsam, macht aber Sinn, wie wir in späteren Kapiteln lernen werden.

Schreibweise bei vordefinierten Funktionen

Funktionen werden in Elm in Modulen organisiert. Das sind Einheiten, die u.a. Funktionen bereitstellen. Funktionen wie z.B. round aus dem besonders wichtigen Modul Basics (siehe Elm - Basics) kann man direkt aufrufen. Im Normalfall muss man aber den Modulnamen vor den Funktionsnamen schreiben wie z.B. bei der Funktion toCode aus dem Modul Char (siehe Elm - Char).

Suche

v
8.2.2.1.10
www.inf-schule.de/deklarativ/fp_elm/elm_programme/datenobjekte/konzept_funktion
www.inf-schule.de/8.2.2.1.10
www.inf-schule.de/@/page/3SQeXsicMSbcKcLt

Rückmeldung geben