Files
kraken/match_test.kp

50 lines
1.6 KiB
Plaintext
Raw Normal View History

(with_import "./match.kp"
(do
(println "first "
(match 1
1 true
a (+ a 1)
))
(println "second "
(match 3
1 true
a (+ a 1)
))
(println "third "
(match "str"
1 true
"str" "It was a string!"
a (+ a 1)
))
(println "fourth "
(match [ 1337 "str" ]
1 true
"str" "It was a string!"
[ 1337 "str" ] "matched an array of int str"
a (+ a 1)
))
(println "fifth "
(match [ 1337 "str" 'sy ]
1 true
"str" "It was a string!"
[ 1337 "str" 'sy ] "matched an array of int str symbol"
a (+ a 1)
))
(println "sixth "
(match [ 1337 "str" 'walla + 11 false 'kraken [ 'inner 'middle 'end ] [ 'inner1 'middle1 'end1 ] ]
1 true
"str" "It was a string!"
[ 1337 "str" 'walla + a false b [ 'inner c 'end ] d ] (str "matched, and got " a b c d)
a (+ a 1)
))
(println "seventh "
(let (b 2)
(match [ 1337 [ 1 2 3] 11 ]
1 true
"str" "It was a string!"
[ 1337 [ a ~b c] 11 ] (str "matched, and got " a c " while checking based on inserted " b)
a "sigh, failed to match"
)))
))