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.