On this page:
1.12.1 signature
signature
1.12.2 Signaturdeklaration
:
1.12.3 Eingebaute Signaturen
number
real
rational
integer
integer-from-to
natural
boolean
true
false
string
any
property
1.12.4 predicate
predicate
1.12.5 enum
enum
1.12.6 mixed
mixed
1.12.7 Funktions-Signatur
->
1.12.8 Signatur-Variablen
1.12.9 combined
combined

1.12 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.12.1 signature

syntax

(signature sig)

Diese Form liefert die Signatur mit der Notation sig.

1.12.2 Signaturdeklaration

syntax

(: id sig)

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

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

procedure

(integer-from-to low high)  signature?

  low : integer?
  high : integer?
Signatur für ganze Zahlen zwischen low und high.

syntax

natural

Signatur für ganze, nichtnegative Zahlen.

syntax

boolean

Signatur für boolesche Werte.

syntax

true

Signatur für #t.

syntax

false

Signatur für #f.

syntax

string

Signatur für Zeichenketten.

syntax

any

Signatur, die auf alle Werte gültig ist.

syntax

signature

Signatur für Signaturen.

syntax

property

Signatur für Eigenschaften.

1.12.4 predicate

syntax

(predicate expr)

Bei dieser Signatur muss expr als Wert ein Prädikat haben, also eine Funktion, 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.12.5 enum

syntax

(enum expr ...)

Diese Signatur ist für einen Wert gültig, wenn er gleich dem Wert eines der expr ist.

1.12.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.12.7 Funktions-Signatur

syntax

->

syntax

(sig ... -> sig)

Diese Signatur ist dann für einen Wert gültig, wenn dieser eine Funktion ist. Er erklärt außerdem, dass die Signaturen vor dem -> für die Argumente der Funktion gelten und die Signatur nach dem -> für den Rückgabewert. }

1.12.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.12.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.