Clojureでfizzbuzz

30分プログラム、その764。
Clojureのお勉強としてfizzbuzz書いてみました。まだ慣れないなぁ。

使い方

$ clj fizzbuzz.clj
1
2
fizz
4
buzz
fizz
7
8
fizz
buzz
11
fizz
13
14
fizzbuzz

ソースコード

(defn divide? [n m]
  (= (mod n m) 0))

(defn fizz-buzz [count]
  (map #(cond (divide? % 15) "fizzbuzz"
	      (divide? % 3)  "fizz"
	      (divide? % 5)  "buzz"
	      :else          %)
       (range 1 count)))

(dorun (map println (fizz-buzz 100)))