On this page:
1.13.1 signature
signature
1.13.2 Signaturdeklaration
:
1.13.3 Eingebaute Signaturen
number
real
rational
integer
integer-from-to
natural
boolean
true
false
string
any
property
1.13.4 predicate
predicate
1.13.5 enum
enum
1.13.6 mixed
mixed
1.13.7 Funktions-Signatur
->
1.13.8 Signatur-Variablen
1.13.9 combined
combined

1.13 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.13.1 signature🔗

syntax

(signature sig)

Diese Form liefert die Signatur mit der Notation sig.

1.13.2 Signaturdeklaration🔗

syntax

(: id sig)

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

1.13.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.13.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.13.5 enum🔗

syntax

(enum expr ...)

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

1.13.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.13.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.13.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.13.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.