2.3 Pattern-Matching

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

▼ | 2 | Schreibe Dein Programm!

2.1 | Signaturen
2.2 | let, letrec und let*
2.3 | Pattern-Matching
2.4 | Primitive Operationen

top contents ← prev up next →

### 2.3 Pattern-Matching🔗ℹ

> syntax (match expr (pattern definition ... expr) ...)
> pattern |  | = |  | ...
> |  | | |  | empty
> |  | | |  | (cons pattern pattern)
> |  | | |  | (list pattern ...)

Zu den Patterns aus der "Anfänger"-Sprache kommen noch drei neue hinzu:

- Das Pattern empty passt auf die leere Liste.

- Das Pattern (cons pattern pattern) passt auf Cons-Listen, bei denen die beiden inneren Patterns auf first bzw. rest passen.

- Das Pattern [(list pattern ...)] passt auf Listen, die genauso viele Elemente haben, wie Teil-Patterns im list-Pattern stehen und bei denen die inneren Patterns auf die Listenelemente passen.

top contents ← prev up next →