Pattern matching & destructuring
Pre-release
Pre-release
·
49 commits
to master
since this release
Added pattern matching and destructuring assignment.
- Now
when
expression can match against destructured tuples. - Let bindings can destructure tuples.
- Shifted
#
to_
for default fallback.
Examples:
(let [val ["a" 5 {:yes "you"}]]
(println! "Example: "
(when val
["a" _ _] "Was A!"
[_ 5 _] "Was 5!"
_ "No match...")))
(let [tpl ["a" :b 5]]
(let [[a b c] tpl] ; Ease of destructure in let bindings, for example.
(println! tpl)
(println! "a: " (:0 tpl)) ; Table-like element access
(println! "a: " a)
(println! "b: " b)
(println! "c: " c)))