Strong +1 from me, I actually ran into a bunch of cases like this recently, having to put a tracking variable outside the loop feels weird; it makes sense for a regular while loop, but I see no reason that repeat/while couldn't have values from the loop be in scope for its condition.
There is a very slim chance of breakage if a variable is shadowed, can we use that as an excuse to get this done in Swift 3? =D > On 18 Jul 2016, at 18:52, Braeden Profile via swift-evolution > <[email protected]> wrote: > > Good morning, Swift community! > > I’ve come across a situation a number of times where I write code that has to > try something one or more times using a `repeat…while` loop and the condition > relies upon variables that should be declared within the scope of the loop. > > repeat > { > let success = doSomething() > } > while !success > > The compiler unnecessarily prohibits this: “Use of unresolved identifier > four.” In this simple case, we can write: > > repeat > { } > while !doSomething() > > But in a more complex situation, we are forced to write: > > var success: Bool > repeat > { > success = doSomething() > } > while !success > > > We could change this so that the declarations within the top level scope of > the loop are accessible from the condition. > > Thanks for reading my first post to the Swift discussion board! > —Braeden > _______________________________________________ > 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
