このシリーズの一覧はこちら
はじめに
Clojure! (あいさつ)
Buzzになる数字をn個挙げるをClojureで - No Programming, No Lifeの続き。
clojure-contrib.str-utilsのstr-joinをuseして、出力をカンマ区切りにしてみました。
useを追加
(use '(clojure.contrib (str-utils :only (str-join))))
use
はrequire
とrefer
を一気にやってくれるので、名前空間なしで参照できるようになります。
:only
キーワードで必要な関数だけ指定することで、名前空間の汚染を最小限に留めることができます。
(useとrequireについては require と use - 水底で思うことがとても参考になりました)
出力部分を str-join を使うように修正
前は、doseq
を使っていたのですが、今回はuse
してきたstr-join関数を利用してみたいと思います。
Usage: (str-join separator sequence)
str-utils API reference (clojure-contrib)![]()
使い方は、第一引数にセパレータとなる文字を、その後くっ付けたいシーケンスを指定する感じです。
; 出力 (str-join版) (println (str-join ", " (take 10 (to-only-buzz-list fizz-buzz-list))))
ここでは、先頭10個に絞った fizz-buzz のシーケンスを ", " で繋いで出力しています。
出力結果
5, 10, 20, 25, 35, 40, 50, 55, 65, 70
おわりに
clojure-contribは非常に強力な関数ライブラリなので、使い方を一覧にしたりしたいです。
Enjoy Coding!