<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Jun 10, 2016 at 7:45 AM, Dany St-Amant <span dir="ltr">&lt;<a href="mailto:dsa.mls@icloud.com" target="_blank">dsa.mls@icloud.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
&gt; Le 10 juin 2016 à 02:25, Xiaodi Wu &lt;<a href="mailto:xiaodi.wu@gmail.com">xiaodi.wu@gmail.com</a>&gt; a écrit :<br>
&gt;<br>
&gt; * The word &quot;where&quot; does not consistently imply `break` or `continue`. In current Swift, `where` implies `break` in the context of a `while` loop and `continue` in the context of a `for` loop. Some users intuitively guess the correct meaning in each context, while others guess the wrong meaning. Therefore, the only way to learn for sure what `where` means in any context is to read the rulebook. That, by definition, means that this is unintuitive.<br>
<br>
</span>An example here would have help... I had trouble visualizing the &#39;where&#39; with &#39;while&#39;. A quick example I was able to conjure is:<br>
<br>
var array =  [9,8,7,6,5,4,3,2,1]<br>
while let x = are.popLast() where x &lt; 5 { print(x) }<br>
print(array)<br>
<br>
What? &#39;array&#39; is not empty at the end. I admit, I was surprised by the result at first. The confusion here is not that &#39;where&#39; in &#39;for&#39; behave like &#39;continue&#39; and &#39;where&#39; in &#39;while&#39; act like a &#39;break&#39;, as the later doesn&#39;t conceptually exist. The later concept is using &#39;where&#39; as a conditional binding in a &#39;while&#39; causes a failure of the bind and thus a &#39;break&#39; out of the loop. With the acceptance of the revised SE-0099, the &#39;while&#39; can no longer appear to be using &#39;where&#39;, thus removing this confusion.<br></blockquote><div><br></div><div>I&#39;m relieved that it&#39;s been addressed. There was no small amount of contention that `where` in `while` loops was stylistically delightful and ought to remain, but I think you see why at least on first sight it is rather alarming.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br>
Dany<br>
<br>
<br>
</font></span></blockquote></div><br></div></div>