在本页中:
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

语法

(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

语法

number

Signatur für beliebige Zahlen.

语法

real

Signatur für reelle Zahlen.

语法

rational

Signatur für rationale Zahlen.

语法

integer

Signatur für ganze Zahlen.

语法

natural

Signatur für ganze, nichtnegative Zahlen.

语法

boolean

Signatur für boolesche Werte.

语法

true

Signatur für \scheme[#t].

语法

false

Signatur für \scheme[#f].

语法

string

Signatur für Zeichenketten.

Signatur für die leere Liste.

语法

any

Signatur, die auf alle Werte gültig ist.

语法

signature

Signatur für Signaturen.

语法

property

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.