Details
-
Type:
Defect
-
Status:
Open
-
Priority:
Minor
-
Resolution: Unresolved
-
Affects Version/s: Release 1.6
-
Fix Version/s: None
-
Component/s: None
-
Labels:None
-
Environment:OS X, 10.8
-
Patch:Code
Description
The doc for partition states "In case there are not enough padding elements, return a partition with less than n items."
However, the behavior of this function is as follows:
user=> (partition 3 (range 10))
((0 1 2) (3 4 5) (6 7 8))
user=> (partition 4 (range 10))
((0 1 2 3) (4 5 6 7))
user=> (partition 5 (range 10))
((0 1 2 3 4) (5 6 7 8 9))
Either the doc should be updated to make it clear that not providing a pad will mean that items are dropped, or the functionality of partition should be fixed to the following:
user=> (partition 3 (range 10))
((0 1 2) (3 4 5) (6 7 8) (9))
I've uploaded a patch that calls out when and how partition drops tail elements:
"If a pad collection is not supplied, any tail elements that remain from dividing the input collection length by n will not be included in a partition."