On Wed, Jun 8, 2016 at 1:51 PM, Jacob Bandes-Storch <jtban...@gmail.com> wrote:
> On Wed, Jun 8, 2016 at 1:38 AM, Haravikk via swift-evolution < > swift-evolution@swift.org> wrote: > >> I’m not sure I agree that this is confusing, a little extra to learn for >> new programmers perhaps but I think it’s fairly intuitive: >> >> while let value = foo.next() where someCondition(value) { … } >> >> This reads to me as “repeat the following block until this fails to be >> true”, the conditional binding in this case fails to be true if >> someCondition(value) isn’t true, so the loop ends. I think the key thing >> here is that the where clause is for the conditional binding and not the >> loop itself, so in this respect it behaves exactly like an if or guard >> statement. >> > > So, I think it might be much clearer if, similarly to how there's a > discussion about unifying "where" vs. "comma" conditions in guard/if, we > could do the same here. > > while let value = foo.next(), let something = value.property, > something == 4 { ... } > > (Apologies if this has been said; I haven't followed the whole thread > closely.) > That's actually also a part of what's proposed in SE-0099.
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution