[swift-evolution] Feature proposal: Range operator with step
Joe Groff
jgroff at apple.com
Mon Mar 28 13:14:25 CDT 2016
> On Mar 25, 2016, at 4:09 PM, Brent Royal-Gordon via swift-evolution <swift-evolution at swift.org> wrote:
>
>> Question: by what unit should
>>
>> for d in d0...d2 {}
>>
>> be iterating? Or should it be disallowed without a .striding(by: )?
>>
>> If the latter, NSDate might fall into the same bucket as floating types.
>
> Floating-point seconds (as NSTimeIntervals) are the natural Strideable.Stride, but it's not particularly clear to me that you want 1 second to be a default stride. It's the default you would guess, but it's not actually a particularly useful default.
Any fixed-time-period stride with dates is fraught with peril. Not every day is 24 hours, not every minute is 60 seconds, etc. Working with dates requires enough special domain knowledge that I think it'd be harmful to try to genericize numeric concepts over it.
-Joe
More information about the swift-evolution
mailing list