1.13 Signaturen

► |  | Sprachebenen und Material zu Die Macht der Abstraktion

1 | Die Macht der Abstraktion - Anfänger
2 | Die Macht der Abstraktion
3 | Die Macht der Abstraktion mit Zuweisungen
4 | Die Macht der Abstraktion fortgeschritten
5 | Konstruktionsanleitungen 1 bis 10
6 | Bilder konstruieren: "image.ss"
7 | Animationen: "world.ss"
8 | Turtle-Grafik: "turtle.ss"
9 | Abspielen von Audio-Dateien: "sound.ss"
10 | 3D-Liniengraphik: "line3d.ss"
11 | DMd A: Sprachen als Libraries
| Index

▼ | 1 | Die Macht der Abstraktion - Anfänger

1.1 | Definitionen
1.2 | Record-Typ-Definitionen
1.3 | Prozedurapplikation
1.4 | #t and #f
1.5 | lambda
1.6 | Bezeichner
1.7 | cond
1.8 | if
1.9 | and
1.10 | or
1.11 | let, letrec und let*
1.12 | begin
1.13 | Signaturen
1.14 | Testfälle
1.15 | Parametrische Record-Typ-Definitionen
1.16 | Eigenschaften
1.17 | Primitive Operationen

► | 1.13 | Signaturen

1.13.1 | signature
1.13.2 | Signaturerklärung
1.13.3 | predicate
1.13.4 | one-of
1.13.5 | mixed
1.13.6 | Prozedur-Signatur
1.13.7 | list
1.13.8 | Signatur-Variablen
1.13.9 | combined

On this page:

1.13.1`` signature
signature
1.13.2`` Signaturerklärung
:
number
real
rational
integer
natural
boolean
true
false
string
empty-list
property
1.13.3`` predicate
predicate
1.13.4`` one-of
one-of
1.13.5`` mixed
mixed
1.13.6`` Prozedur-Signatur
->
1.13.7`` list
list
1.13.8`` Signatur-Variablen
1.13.9`` combined
combined

top← prev up next →

#### 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

( signature sig)

Diese Form liefert die Signatur mit der Notation sig.

##### 1.13.2`` Signaturerklärung

(: id sig)

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

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.

empty-list

Signatur für die leere Liste.

signature

Signatur für Signaturen.

property

Signatur für Eigenschaften.

##### 1.13.3`` 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.13.4`` one-of

( one-of expr ...)

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

##### 1.13.5`` mixed

( mixed sig ...)

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

##### 1.13.6`` 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.13.7`` list

( list sig)

Diese Signatur ist dann für einen Wert gültig, wenn dieser eine Liste ist, für dessen Elemente sig gültig ist.

##### 1.13.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.13.9`` combined

( combined sig ...)

Diese Signatur ist für einen Wert gültig, wenn sie für alle der Signaturen sig gültig ist.
top← prev up next →