`step`参数与描述的行为无关:(partition n coll)仅仅意味着(partition n n coll),即按照n的步长进行分区,因此它_总是_有步长值,这仅决定了在开始下一个分区之前跳过coll中的多少元素。Alex所描述的行为不受步长值的影响。
填充集合只有在生成的最后一个分区可能不包含n个元素时才有意义。
dev=> (partition 3 3 [:a :b :c] (range 5))
((0 1 2) (3 4 :a))
dev=> (partition 3 3 (range 5))
((0 1 2))
dev=> (partition 3 2 [:a :b :c] (range 5))
((0 1 2) (2 3 4) (4 :a :b))
dev=> (partition 3 2 (range 5))
((0 1 2) (2 3 4))
dev=> (partition 3 1 [:a :b :c] (range 5))
((0 1 2) (1 2 3) (2 3 4) (3 4 :a))
dev=> (partition 3 1 (range 5))
((0 1 2) (1 2 3) (2 3 4))