`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))