I also considered `until`, but it would be a bit confusing that `where` makes sure a condition is met, while `until` makes sure the condition isn’t met. I think `while` makes more sense because it corresponds to `break` in the same way that `where` corresponds to `continue`.
>`while`, to me, actually reads like it should do what `where` does. To me, `while` reads like it should stop the loop once the condition isn’t met, just like in a while loop. > I hadn't thought about `while` in this regard but wouldn't `until` make more > sense? `while`, to me, actually reads like it should do what `where` does. In > any case, whether it is `while` or `where`, this seems like a reasonable > feature in my opinion. > > TJ > > On Mon, Jun 6, 2016 at 5:15 AM, Tim Vermeulen via > swift-evolution<swift-evolution@swift.org(mailto:swift-evolution@swift.org)>wrote: > > We can already use a where clause in a for loop like this: > > > > for element in array where someCondition(element) { > > // … > > } > > > > which basically acts like > > > > for element in array { > > guard someCondition(element) else { continue } > > // … > > } > > > > Sometimes you want to break out of the loop when the condition isn’t met > > instead. I propose a while clause: > > > > for element in array while someCondition(element) { > > // … > > } > > > > which would be syntactic sugar for > > > > for element in array { > > guard someCondition(element) else { break } > > … > > } > > > > I can see this particularly being useful if we have a sorted array and we > > already know that once the condition isn’t met, it won’t be met either for > > subsequent elements. Another use case could be an infinite sequence that we > > want to cut off somewhere (which is simply not possible using a where > > clause). > > _______________________________________________ > > swift-evolution mailing list > > swift-evolution@swift.org(mailto:swift-evolution@swift.org) > > https://lists.swift.org/mailman/listinfo/swift-evolution > > > _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution