I see your point that a simple extension on ranges and similar types would also do the thing.
But I do think that this is not as easy as many users would expect. For example, I try to avoid parentheses in for loops as much as I can, but in your example, 4 additional brackets are required. A simple keyword („step" or „by“) would solve the problem seamlessly. Also, a new template could be introduced that shows the existence of the new keyword: I think adding such a new keyword would improve the ease and the clearness of the Swift language more than just adding some protocol extensions. > Am 24.03.2016 um 00:02 schrieb Haravikk <[email protected]>: > > I’m behind the idea in principle, but I’m not so sure we need a new keyword > for this: > > for eachIndex in (1 ..< 10).by(2) { … } > > The above would be adequate I thin, and just requires a new method on ranges > and similar types. This is being discussed, among other things, in the > c-style for loop discussion, as these were recently removed but without a > replacement for this type of use-case. > >> On 23 Mar 2016, at 21:40, David Knothe via swift-evolution >> <[email protected] <mailto:[email protected]>> wrote: >> >> Hi, >> >> I am new to Swift mailing list so I don’t know if this topic has already >> been discussed. >> >> I like Swift's range operators ..< and … >> What I am missing though is an easy operator to create a range with a >> specified step. Currently, if you would want to iterate over some odd >> numbers, you had to write: >> for i in 1.stride(through: 7, by: 2) { … } >> What I think would be simpler and more convenient would be something like >> the following: >> for i in 1 … 7 step 2 { … } . Another option would be for i in 1 … 7; 2 { … >> } >> The keyword ‚step‘ in this context clearly corresponds to the step of the >> range to create or to iterate over. >> >> Essentially this is a syntactic sugar that makes it easy to create ranges >> with a step ≠ 1. What do you think? >> _______________________________________________ >> swift-evolution mailing list >> [email protected] <mailto:[email protected]> >> https://lists.swift.org/mailman/listinfo/swift-evolution >
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
