flan/web/examples/control.flan

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")))