OCaml Konzepte: Grundlegende Konzepte - Variablen |
Im Gegensatz zu imperativen Sprachen werden Variablen in funktionalen Sprachen als aktuelle Werte aufgefaßt oder dienen als definierte Bezeichner für Werte, da in der Mathematik der Begriff des Speicherplatzes nicht existiert oder von Bedeutung wäre.
Variable | Name für einen Wert | |
Bindung | Werte werden an Namen statisch gebunden | |
Syntax: Einfache Bindung |
# let name = expr;; |
|
Syntax: Geschachtelte Bindung |
# let name = expr1 in expr2;; |
Variablen können einfach an einen Wert gebunden werden, oder innerhalb einer geschachtelten Konstruktion.
Bei der geschachtelten Variablenbindung ist die Variable name definiert als der Wert des Ausdrucks expr1 innerhalb des Rumpfes
der Bindung, dem Ausdruck expr2.
Beispiel: Geschachtelte Bindung |
|
Die Variable x ist demnach definiert als der ganzzahlige Wert 1 innerhalb des Rumpfes dieser Variablenbindung,
in welchem dieser Bezeichner redefiniert wird als der Wert 2 innerhalb einer weiteren Schachtelung.
In diesem Rumpf wird ein neuer Bezeichner (die Variable y) definiert als die Summe des Wertes "x" mit sich selbst, also y = 2 + 2 = 4.
Der Wert der Variablen y im innersten Bindungsrumpf, führt zur Auswertung des letzlich durch x + y (2 + 4 = 6) definierten Gesamtausdrucks.
Hinweis:
"#" kennzeichnet Eingaben im OCaml Interpreter,
"val" bzw "- :" das Ergebnis der Auswertung und automatischen Typanalyse inkl. der vom System inferierten Typen.