4引数で partition

一見単純だけど色々お世話になってる便利な関数 partition。4引数で呼び出せるのをしらなかった。

(def a [1 2 3 4 5 6 7 8 9 10 11])

;; 2引数
(partition 4 a)   ;=> ((1 2 3 4) (5 6 7 8))

;; 3引数
(partition 4 3 a) ;=> ((1 2 3 4) (4 5 6 7) (7 8 9 10))

;; 4引数
(partition 4 3 ["a" "b" "c"] a) ;=> ((1 2 3 4) (4 5 6 7) (7 8 9 10) (10 11 "a" "b"))

(partition 4 3 (repeat 0) a)    ;=> ((1 2 3 4) (4 5 6 7) (7 8 9 10) (10 11 0 0))

最後の例のように、あまったスペースを特定の値で埋める目的で使えます。