1.11 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 | Signaturen
1.12 | Testfälle
1.13 | Parametrische Record-Typ-Definitionen
1.14 | Eigenschaften
1.15 | Primitive Operationen

► | 1.11 | Signaturen

1.11.1 | signature
1.11.2 | Signaturdeklaration
1.11.3 | Eingebaute Signaturen
1.11.4 | predicate
1.11.5 | one-of
1.11.6 | mixed
1.11.7 | Prozedur-Signatur
1.11.8 | Signatur-Variablen
1.11.9 | combined

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

top ← prev up next →

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

> syntax empty-list

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.
top ← prev up next →