clojureでリストとベクタに値を追加してみる

"->"マクロを使って、リストやベクタに値を追加することも出来るけど、そんな面倒なことしなくても良いと言うことで、clojure.contrib.accumulatorsを使ってみる。

user=> (use 'clojure.contrib.accumulators)
nil
user=> (add-items () '(1))
(1)
user=> (add-items () '(1 2))
(2 1)
user=> (add-items () '(1 2 3))
(3 2 1)
user=> (add-items [] [1])    
[1]
user=> (add-items [] [1 2])
[1 2]
user=> (add-items [] [1 2 3])
[1 2 3]

clojure.contrib.accumulatorsには他にもいろいろ便利な関数がありそう。