`step`参数与描述的行为无关:(partition n coll)相当于(partition n n coll),即带有n步长的分区,因此它始终有一个步长值,这仅决定了coll Skip之前在Starting next partition多少元素。Alex描述的行为不会受到步长值的影响。
只有当最后生成的分区不包含n个项目时,pad集合才重要。
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))