31 lines
670 B
Plaintext
31 lines
670 B
Plaintext
(defconst nums [5 i32] [1 3 8 9 10])
|
|
|
|
(defn classify [n i32] str
|
|
(cond
|
|
(< n 0) "negative"
|
|
(= n 0) "zero"
|
|
:else "positive"))
|
|
|
|
(defn countdown [n i32] ()
|
|
(let [i n]
|
|
(while (> i 0)
|
|
(print i)
|
|
(print " ")
|
|
(set i (- i 1)))
|
|
(println "")))
|
|
|
|
(defn first-even [s [i32]] (Option i32)
|
|
(dotimes [i (length s)]
|
|
(when (= 0 (% (at s i) 2))
|
|
(return (Some (at s i)))))
|
|
None)
|
|
|
|
(defn main [] ()
|
|
(println (classify -3))
|
|
(countdown 4)
|
|
(unless false
|
|
(println "unless runs when the test is false"))
|
|
(match (first-even (slice nums 0 (length nums)))
|
|
(Some n) (do (print n) (println ""))
|
|
None (println "none")))
|