Version: 5.2
23 Match
(require unstable/match) |
This library is unstable;
compatibility will not be maintained.
See Unstable: May Change Without Warning for more information.
A match expander
which checks if the matched value is the same as val when
compared by comparator. If comparator is
not provided, it defaults to equal?.
Examples: | |||||||||||||||
|
The subsequent bindings were added by Carl Eastlund <cce@racket-lang.org>.
(match? val-expr pat ...)
Returns #t if the result of val-expr matches any of
pat, and returns #f otherwise.
Examples: | |||||||||||||||
|
(as ([lhs-id rhs-expr] ...) pat ...)
As a match expander, binds each lhs-id as a pattern variable with the
result value of rhs-expr, and continues matching each subsequent
pat.
Example: | ||||
|
The subsequent bindings were added by Asumu Takikawa <asumu@racket-lang.org>.
(object maybe-class field-clause ...)
maybe-class =
| class-expr field-clause = (field field-id maybe-pat) maybe-pat =
| pat
A match expander that checks if the matched value is an object
and contains the fields named by the field-ids. If
pats are provided, the value in each field is matched to
its corresponding pat. If a pat is not provided,
it defaults to the name of the field.
If class-expr is provided, the match expander will also check that the supplied object is an instance of the class that the given expression evaluates to.
Examples: | |||||||||||||||||||||||
|