Benutzer:Turelion/Ocaml Tutorial/Ideen

OCaml Tutorial

allgemeine Konzepte

Bearbeiten

Kommentare

Bearbeiten

Die Erzeugung von Kommentaren orientiert sich an C/C++.

(* Einzeiliger Kommentar *)

(* Mehrzeiliger
   Kommentar *)

Erzeugung ausführbarer OCaml-Dateien

Bearbeiten

Anweisungen

Bearbeiten

Variablen

Bearbeiten

Deklaration

Bearbeiten

OCaml unterscheidet zwischen Ganzzahlen und Fließkommazahlen, außerdem stehen Zeichenketten zur Verfügung. Dadurch entstehen einige Schwierigkeiten, und man wird zu sauberer Programmierung gezwungen. Der Typ der Variablen wird durch die Wertzuweisung festgelegt.

Weitere Datentypen: bool (* Wahrheitswert. Kann mit true oder false belegt werden *) char (* Einzelzeichen *) unit (* Geschrieben: () *)


Wertzuweisung

Bearbeiten
 let ausdruck = ausdruck
 
 let a = 1	(* Ganzzahl *)
 let b = 1.0   (* Fließkommazahl!! 
                  Man beachte, daß im englischen Sprachraum der Punkt die Funktion unseres Kommas übernimmt *)
 let c = "Hallo Wikibookleser!!"	(* Zeichenkette *)
               
                  

Typumwandlungen

Bearbeiten

OCaml stellt eine Reihe von Typumwandlungsfunktionen zur Verfügung, die normal wie andere Funktionen aufgerufen werden.

float_of_int 		(* Wandelt eine Ganzzahl in eine Fließkommazahl um *)
int_of_float		(* Der umgekehrte Fall *)
char_of_int		(* Wandelt eine Ganzzahl in ein Einzelzeichen um *)
int_of_char		(* und umgekehrt *)
string_of_int		(* Ganzzahl => Zeichenkette *)
...

Für float_of_int hat sich eine Kurzschreibweise durchgesetzt

float  		(* Wandelt eine Ganzzahl in eine Fließkommazahl um *)

Feldvariablen

Bearbeiten

Verbundvariablen

Bearbeiten

Operatoren

Bearbeiten

Wie schon erwähnt, unterscheidet OCaml zwischen Ganzzahlen und Fließkommazahlen. Daraus folgt, daß man mit '/' lediglich Ganzzahlen dividieren kann. Für Fließkommazahlen kommt der Operator '/.' zum Einsatz. Gleiches gilt für die anderen Grundrechenarten.

Fallunterscheidungen

Bearbeiten

OCaml verfügt über eine Fallunterscheidung mit 'If'. Diese wird aber selten genutzt. Stattdessen kommt hier eines der Kernkonzepte von OCaml zum Einsatz.

Ein Suchbegriff wird als Funktionsname verwendet, der mit einem Anweisungssatz zu einer Funktion ausgestattet wird. Die Funktion wird ausgelöst, wenn der entsprechende Suchbegriff im Datenstrom auftaucht.

Schleifen

Bearbeiten

Unterfunktionen

Bearbeiten

Deklaration

Bearbeiten
 let funktionsname parameter1 parameter2 ... =
   kommando1
   kommando2
   kommando3
   ...;;
   

Beispiel:

 let durchschnitt a b =
   (a +. b) /. 2.0;;
   

Funtionen, die recursiv (selbstaufrufend) gebraucht werden sollen, benötigen das Schüsselwort 'rec'.

 let rec funktionsname parameter1 parameter2 ... =
 ...

Der Funktionsname und die Parameterliste werden ausschließlich durch Leerzeichen getrennt.

 funktionsname parameter1 parameter2 ...
 

Besteht ein Parameter selber aus einem Funktionsaufruf, wird der gesamte Parameterausdruck eingeklammert

 funktionsname1 (funktionsname2 unterparameter1 unterparameter2 ...) parameter2 ...

OCaml-spezifische Konzepte

Bearbeiten