1.13 Signaturen

► |  | Sprachebenen und Material zu Schreibe Dein Programm!

1 | Schreibe Dein Programm! - Anfänger
2 | Schreibe Dein Programm!
3 | Schreibe Dein Programm! - fortgeschritten
4 | Konstruktionsanleitungen
5 | sdp: Sprachen als Libraries
| Index

▼ | 1 | Schreibe Dein Programm! - Anfänger

1.1 | Definitionen
1.2 | Record-Typ-Definitionen
1.3 | Record-Typ-Definitionen mit Signatur-Parametern
1.4 | Singleton-Definitionen
1.5 | Funktionsapplikation
1.6 | #t and #f
1.7 | lambda / λ
1.8 | Bezeichner
1.9 | cond
1.10 | if
1.11 | and
1.12 | or
1.13 | Signaturen
1.14 | Testfälle
1.15 | Pattern-Matching
1.16 | Eigenschaften
1.17 | Primitive Operationen

► | 1.13 | Signaturen

1.13.1 | signature
1.13.2 | Signaturdeklaration
1.13.3 | Eingebaute Signaturen
1.13.4 | predicate
1.13.5 | enum
1.13.6 | mixed
1.13.7 | Funktions-Signatur
1.13.8 | Signatur-Variablen
1.13.9 | combined

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

top contents ← 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🔗ℹ

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