> One advantage of the old C style for loop is that everything to do with loop 
> control is in one place, usually on one line. There is currently no way of 
> doing that for the (quite common) use case of iterating through a sequence 
> until a particular condition (other than the end of the sequence) is true 
> except by using a break. 

If you can stand using method chains, I believe that role would be filled by 
the `takeWhile(_:)` method that Kevin Ballard (IIRC) wants to add to Sequence. 
(Although `takeWhile(_:)` would be greedy by default.)

But honestly, other than distaste, I don't see much of a practical issue with 
putting an `if` or `guard` on the first line with a `break` in it. That still 
clusters the iteration logic at the top of the loop, even if it's not quite in 
a single statement.

-- 
Brent Royal-Gordon
Architechies

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to