/home/matstani/weblog

programming log.

[Clojure] インデックス付きシーケンス

Clojure1.2以前の、clojure.contrib.seq/indexedの代替として、インデックス付きシーケンスがほしいときは、以下のコードが使えます。

1
2
> (map-indexed vector [:a :b :c :d :e])
;([0 :a] [1 :b] [2 :c] [3 :d] [4 :e])

例)doseqでループ処理。

1
2
3
4
5
6
> (doseq [[idx item] (map-indexed vector [:a :b :c :d :e])]
        (println (str idx ":" item)))
;0:a
;1:b
;2:c
;3:d

Comments