On this page:
1.11.1 signature
signature
1.11.2 Signaturdeklaration
:
1.11.3 Eingebaute Signaturen
number
real
rational
integer
natural
boolean
true
false
string
empty-list
any
property
1.11.4 predicate
predicate
1.11.5 one-of
one-of
1.11.6 mixed
mixed
1.11.7 Prozedur-Signatur
->
1.11.8 Signatur-Variablen
1.11.9 combined
combined

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

syntax

(signature sig)

Diese Form liefert die Signatur mit der Notation sig.

1.11.2 Signaturdeklaration

syntax

(: id sig)

Diese Form erklärt sig zur gültigen Signatur für id.

1.11.3 Eingebaute Signaturen

syntax

number

Signatur für beliebige Zahlen.

syntax

real

Signatur für reelle Zahlen.

syntax

rational

Signatur für rationale Zahlen.

syntax

integer

Signatur für ganze Zahlen.

syntax

natural

Signatur für ganze, nichtnegative Zahlen.

syntax

boolean

Signatur für boolesche Werte.

syntax

true

Signatur für \scheme[#t].

syntax

false

Signatur für \scheme[#f].

syntax

string

Signatur für Zeichenketten.

Signatur für die leere Liste.

syntax

any

Signatur, die auf alle Werte gültig ist.

syntax

signature

Signatur für Signaturen.

syntax

property

Signatur für Eigenschaften.

1.11.4 predicate

syntax

(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

syntax

(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

syntax

(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

syntax

->

syntax

(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

syntax

%a

syntax

%b

syntax

%c

syntax

...

Dies ist eine Signaturvariable: sie steht für eine Signatur, die für jeden Wert gültig ist.

1.11.9 combined

syntax

(combined sig ...)

Diese Signatur ist für einen Wert gültig, wenn sie für alle der Signaturen sig gültig ist.