Benutzer:Turelion/Ocaml Tutorial/Ideen

OCaml Tutorial

Vorwort Bearbeiten

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 ... =
 ...

Aufruf Bearbeiten

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