[swift-evolution] Feature proposal: Range operator with step

Dave Abrahams dabrahams at apple.com
Tue Apr 5 18:23:59 CDT 2016


on Tue Apr 05 2016, Stephen Canon <swift-evolution at swift.org> wrote:

>     On Apr 5, 2016, at 3:22 PM, Erica Sadun via swift-evolution
>     <swift-evolution at swift.org> wrote:
>
>         On Apr 5, 2016, at 4:17 PM, Dave Abrahams via swift-evolution
>         <swift-evolution at swift.org> wrote:
>
>         on Tue Apr 05 2016, Erica Sadun
>         <swift-evolution at swift.org> wrote:
>
>                 On Apr 5, 2016, at 1:54 PM, Dave Abrahams
>             <dabrahams at apple.com> wrote:
>             IMO this:
>
>             (-9...0).reverse()
>
>             is better than 
>
>             stride(from: 0, to: -10, by: -1)
>
>             What do you think?
>
>             The latter better reflects an author's actual intent. The former
>             depends on
>             implementation details, which can be hazy, especially, around the
>             edge cases. It
>             is quicker to read, understand, and verify that the latter is what
>             is
>             meant.
>
>         Except that there seems to be some confusion over what "to:" means,
>         right?
>
>     obviously (0..<-10).by(-2) would be best.
>
> (0 ..> -10).by(-2)?
>
> Maybe having another range operator is overkill, but ..< seems pretty bonkers
> here.

I can't see any excuse for putting the smaller number on the right.  If
one really needs the numbers in that order, then I agree a stride free
function is better.

-- 
Dave



More information about the swift-evolution mailing list