► |  | 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 →