1.11 Signaturen
Signaturen können statt der Verträge aus dem Buch geschrieben werden: Während Verträge reine Kommentare sind, überprüft DrRacket Signaturen und meldet etwaige Verletzungen.
1.11.1 signature
语法
(signature sig)
Diese Form liefert die Signatur mit der Notation sig.
1.11.2 Signaturdeklaration
语法
(: id sig)
Diese Form erklärt sig zur gültigen Signatur für id.
1.11.3 Eingebaute Signaturen
语法
Signatur für beliebige Zahlen.
语法
Signatur für reelle Zahlen.
语法
Signatur für rationale Zahlen.
语法
Signatur für ganze Zahlen.
语法
Signatur für ganze, nichtnegative Zahlen.
语法
Signatur für boolesche Werte.
语法
Signatur für \scheme[#t].
语法
Signatur für \scheme[#f].
语法
Signatur für Zeichenketten.
Signatur für die leere Liste.
语法
Signatur, die auf alle Werte gültig ist.
语法
signature
Signatur für Signaturen.
语法
Signatur für Eigenschaften.
1.11.4 predicate
语法
(predicate expr)
Bei dieser Signatur muß expr als Wert ein Prädikat haben, also
eine Prozedur, die einen beliebigen Wert akzeptiert und entweder #t
oder #f zurückgibt.
Die Signatur ist dann für einen Wert gültig, wenn das Prädikat, darauf angewendet,
#t ergibt.
1.11.5 one-of
语法
(one-of expr ...)
Diese Signatur ist für einen Wert gültig, wenn er gleich dem Wert eines
der expr ist.
1.11.6 mixed
语法
(mixed sig ...)
Diese Signatur ist für einen Wert gültig, wenn er für eine der Signaturen
sig gültig ist.
1.11.7 Prozedur-Signatur
语法
语法
(sig ... -> sig)
Diese Signatur ist dann für einen Wert gültig, wenn dieser eine
Prozedur ist. Er erklärt außerdem, daß die Signaturen vor dem ->
für die Argumente der Prozedur gelten und die Signatur nach dem ->
für den Rückgabewert.
}
1.11.8 Signatur-Variablen
语法
%a
语法
%b
语法
%c
语法
...
Dies ist eine Signaturvariable: sie steht für eine Signatur, die für jeden Wert gültig ist.
1.11.9 combined
语法
(combined sig ...)
Diese Signatur ist für einen Wert gültig, wenn sie für alle der Signaturen
sig gültig ist.