<div dir="ltr">I think that we should change it to `if. Inline filtering is useful, even if it isn&#39;t used much at present but the inconsistency doesn&#39;t help adoption.</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 24, 2016 at 11:06 AM, Sean Heber via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I’ll share some of mine from a single game project. Note this hasn’t been converted to Swift 3 and this is not all of them - just a varied sampling:<br>
<br>
<br>
for location in random.sample(map, density: 0.007) where map.allowsGrassAt(location) &amp;&amp; !map.hasGrassAt(location) {<br>
}<br>
<br>
for location in type.designatedLocations where location.z == Global.cameraZ &amp;&amp; !locations.contains(location) {<br>
}<br>
<br>
for location in region where location.z == mouseLocation.z {<br>
}<br>
<br>
for location in path where location.z == Global.cameraZ {<br>
}<br>
<br>
for below in location.below.cardinals where contains(below) &amp;&amp; hasSurfaceAt(below) {<br>
}<br>
<br>
for neighbor in location.cardinals where contains(neighbor) &amp;&amp; isRampAt(neighbor) &amp;&amp; !isFloorAt(neighbor.above) {<br>
}<br>
<br>
for neighbor in cardinals where contains(neighbor) &amp;&amp; !isSolidAt(neighbor) {<br>
}<br>
<br>
for console in consoles.reverse() where console.hitTest(vector) {<br>
}<br>
<br>
<br>
<br>
And these 2 made good use, IMO, of “if-where” but I think that’s no longer in Swift 3? :/<br>
<br>
<br>
if let there = debugClickedSurfaceAt, here = mouseSurface where Global.debugPathTest {<br>
}<br>
<br>
if let here = mouseAt where Global.debugWalkNeighbors {<br>
}<br>
<br>
<br>
l8r<br>
Sean<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
<br>
&gt; On Jun 24, 2016, at 8:24 AM, Erica Sadun via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br>
&gt;<br>
&gt; Thank you for collecting and sharing these.<br>
&gt;<br>
&gt; I suspect both of us look at these and say &quot;Ah yes, this supports exactly what I&#39;ve been saying&quot;.<br>
&gt;<br>
&gt; -- E<br>
&gt;<br>
&gt;&gt; On Jun 23, 2016, at 11:59 PM, William Shipley &lt;<a href="mailto:wjs@mac.com">wjs@mac.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Here are some of my real-world examples:<br>
&gt;&gt;<br>
&gt;&gt;         for modelUUIDAndInterfaceElement in modelUUIDsToInterfaceElements where !usedInterfaceElements.contains(modelUUIDAndInterfaceElement.1) {<br>
&gt;&gt; …<br>
&gt;&gt;         }<br>
&gt;&gt;<br>
&gt;&gt;         for anchor in wall.anchors where boundsRect.contains(anchor.origin) {<br>
&gt;&gt; …<br>
&gt;&gt;         }<br>
&gt;&gt;<br>
&gt;&gt;         for otherWall: Wall in self where otherWall != wall &amp;&amp; !removedWalls.contains(otherWall) {<br>
&gt;&gt; …<br>
&gt;&gt;         }<br>
&gt;&gt;<br>
&gt;&gt;         for wall in self as Set&lt;Wall&gt; {<br>
&gt;&gt;             for otherWall in self as Set&lt;Wall&gt; where otherWall != wall {<br>
&gt;&gt; …<br>
&gt;&gt;             }<br>
&gt;&gt;         }<br>
&gt;&gt;<br>
&gt;&gt;         for wall in self as Set&lt;Wall&gt; where !checkedWalls.contains(wall) {<br>
&gt;&gt; …<br>
&gt;&gt;         }<br>
&gt;&gt;<br>
&gt;&gt; (x2 on that one)<br>
&gt;&gt;<br>
&gt;&gt;         for otherPieceOfFurnitureNode in localFurnitureModelUUIDsToInterfaceElements!.values where otherPieceOfFurnitureNode !== pieceOfFurnitureNode {<br>
&gt;&gt; …<br>
&gt;&gt;         }<br>
&gt;&gt;<br>
&gt;&gt;         for lineSegmentObject in wallRelatedLineSegments where remainingLineSegments.contains(lineSegmentObject) {<br>
&gt;&gt; …<br>
&gt;&gt;         }<br>
&gt;&gt;<br>
&gt;&gt;         for colinearLineSegmentObject in remainingLineSegments where colinearLineSegmentObject.angle.isEssentially(infiniteLineAngle: lineSegmentObject.angle) {<br>
&gt;&gt; …<br>
&gt;&gt;         }<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; I think this is basically as many as are found on all of github?<br>
&gt;&gt;<br>
&gt;&gt; -W<br>
&gt;<br>
</div></div><div class="HOEnZb"><div class="h5">&gt; _______________________________________________<br>
&gt; swift-evolution mailing list<br>
&gt; <a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
&gt; <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
<br>
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</div></div></blockquote></div><br></div>