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 < [email protected]> 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 > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution >
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
