Details
-
Type:
Defect
-
Status:
Closed
-
Priority:
Minor
-
Resolution: Completed
-
Affects Version/s: Release 1.1, Release 1.2, Release 1.3, Release 1.4, Release 1.5
-
Fix Version/s: Release 1.5, Release 1.6
-
Component/s: None
-
Patch:Code and Test
-
Approval:Ok
Description
Problem statement: The current behavior of range is inconsistent. (range 0 9 0) has always produced (). (range 0 9 -1) has always produced (). (range 9 0 1) has always produced (). However, (range 9 0 0) produces (9 9 9 9 ...), and (range 0 0 0) produces '(0 0 0 0 ...)
Proposal: Make the behavior of range consistent when using a step of 0 to make it produce an empty list.
Please see attached code and patch.
Agree it is good to fix the inconsistency, but I think an infinite sequence of zeros is the correct result, as implied by the current docstring definition.
It's also mathematically cleanest: range should produce an arithmetic progression until the end value is equalled or exceeded.
Empty lists only seem to make sense as a return value when start >= end.