> On Apr 6, 2016, at 10:10 AM, Dave Abrahams via swift-evolution > <[email protected]> wrote: > > > on Wed Apr 06 2016, Brent Royal-Gordon <brent-AT-architechies.com> wrote: > >>> For example, there are all kinds of other ways to slice this: >>> >>> stride(over: 0..<200, by: -2) >> >> This seems like a particularly good solution. The way I understand it >> at least, it would allow ranges to always be ordered, with the only >> difference being whether it went start-to-end or end-to-start, >> determined by the stride's sign. > > This is no different in principle from > > (0..<200).striding(by: -2) > > Again, I wasn't trying to suggest any of the solutions listed there. > The point I was making was that we don't have enough information to > design more than > > (0..<200).striding(by: -2)
Of the suggestions I’ve seen floated, this is my favorite by a huge margin. - It preserves the ordering of range endpoints. - It supports the right kind of half-open intervals—[a,b)—for zero-based indexing. - It avoids making reverse iteration significantly more complex. – Steve _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
