Clojure

partition docstring should be more explicit about dropped or partial trailing elements

Details

  • Type: Enhancement Enhancement
  • Status: Open Open
  • Priority: Minor Minor
  • Resolution: Unresolved
  • Affects Version/s: Release 1.6
  • Fix Version/s: None
  • Component/s: None
  • Labels:
  • Environment:
    OS X, 10.8
  • Patch:
    Code
  • Approval:
    Prescreened

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

Proposed: Proposed docstring update in bold:

Returns a lazy sequence of lists of n items each, at offsets step
apart. If step is not supplied, defaults to n, i.e. the partitions
do not overlap. **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.** If a pad collection is supplied, use its elements as
necessary to complete last partition upto n items. In case there are
not enough padding elements, return a partition with less than n items.

Patch: clj-1117.patch

Activity

People

Vote (6)
Watch (3)

Dates

  • Created:
    Updated: