Datentypen
Datentypen beschreiben den Wertebereich von Daten.
Damit wird festgelegt, welche speziellen Operationen mit den Daten ausgeführt werden können.
Ausgewählte Datentypen in Scheme
| Zahlen | Zeichen | Zeichenketten | Wahrheitswerte | |
|---|---|---|---|---|
| Beispiele | 12 -0.25 3e-04 2/3 |
#\a #\B #\+ #\space #\tab #\newline |
"Informatik" "Heute ist ein schoener Tag" "12.03" "(+ 1.5 2.3)" |
#t #f |
| Operatoren | +, -, *, / expt abs, sqr, sqrt sin, cos, tan asin, acos, atan |
string-append string-length |
not, and, or | |
| Prädikate | number? | char? char=? char |
string? string=? string |
|
| Konstruktoren | string | |||
| Selektoren | string-ref substring |
|||
| Anwendungen |
|
|
|
|
Zusätzlich gibt es Operatoren zur Konvertierung zwischen Daten unterschiedlicher Datentypen:
Symbole
Mit der Quotierung kann die Evaluation von Ausdrücken unterdrückt werden:
Damit wird zusätzlich die Definition eines Datentyps Symbol sinnvoll.
Symbole sind nichtnumerische und nichtstrukturierte (d.h. atomare) Ausdrücke, deren Evaluation mit quote unterdrückt wird.
Beispiele:
| Syntax | Beispiele | |
|---|---|---|
| Prädikat | symbol? | |
| Konvertierungen | symbol->string string->symbol |
Wir wissen bereits aus der Einführung in die Kommunikation mit Scheme:
Mit define kann man an ein Symbol einen Wert binden.
Symbole, an die Werte gebunden sind, heißen Variablen.
Aufgaben
-
Testen Sie die oben angegebenen Beispiele ausführlich.
-
Nachfolgend ist eine Prozedur zur universellen Datentypprüfung (universal datacheck) implementiert.
Untersuchen Sie damit weitere Datentypen und -strukturen.