Carpをチョット触るその3

Carpをチョット触るその2 - gos-k’s blog

前回に続いてその3。 よくみたら core/Macros.carpfor とか cond とか色々あった。

(defn main []
  (for [n 1 21]
    (print* (cond
              (and (= (mod n 3) 0)
                   (= (mod n 5) 0)) @"fizzbuzz"
              (= (mod n 5) 0) @"buzz"
              (= (mod n 3) 0) @"fizz"
              (Int.str n))
            (if (< n 20)
                @" "
                @"\n"))))
carp -x fizz-buzz5.carp
1 2 fizz 4 buzz fizz 7 8 fizz buzz 11 fizz 13 14 fizzbuzz 16 17 fizz 19 buzz