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:


for location in random.sample(map, density: 0.007) where 
map.allowsGrassAt(location) && !map.hasGrassAt(location) {
}

for location in type.designatedLocations where location.z == Global.cameraZ && 
!locations.contains(location) {
}

for location in region where location.z == mouseLocation.z {
}

for location in path where location.z == Global.cameraZ {
}

for below in location.below.cardinals where contains(below) && 
hasSurfaceAt(below) {
}

for neighbor in location.cardinals where contains(neighbor) && 
isRampAt(neighbor) && !isFloorAt(neighbor.above) {
}

for neighbor in cardinals where contains(neighbor) && !isSolidAt(neighbor) {
}

for console in consoles.reverse() where console.hitTest(vector) {
}



And these 2 made good use, IMO, of “if-where” but I think that’s no longer in 
Swift 3? :/


if let there = debugClickedSurfaceAt, here = mouseSurface where 
Global.debugPathTest {
}

if let here = mouseAt where Global.debugWalkNeighbors {
}


l8r
Sean




> On Jun 24, 2016, at 8:24 AM, Erica Sadun via swift-evolution 
> <[email protected]> wrote:
> 
> Thank you for collecting and sharing these. 
> 
> I suspect both of us look at these and say "Ah yes, this supports exactly 
> what I've been saying".
> 
> -- E
> 
>> On Jun 23, 2016, at 11:59 PM, William Shipley <[email protected]> wrote:
>> 
>> Here are some of my real-world examples:
>> 
>>         for modelUUIDAndInterfaceElement in modelUUIDsToInterfaceElements 
>> where !usedInterfaceElements.contains(modelUUIDAndInterfaceElement.1) {
>> …
>>         }
>> 
>>         for anchor in wall.anchors where boundsRect.contains(anchor.origin) {
>> …
>>         }
>> 
>>         for otherWall: Wall in self where otherWall != wall && 
>> !removedWalls.contains(otherWall) {
>> …
>>         }
>> 
>>         for wall in self as Set<Wall> {
>>             for otherWall in self as Set<Wall> where otherWall != wall {
>> …
>>             }
>>         }
>> 
>>         for wall in self as Set<Wall> where !checkedWalls.contains(wall) {
>> …
>>         } 
>> 
>> (x2 on that one)
>> 
>>         for otherPieceOfFurnitureNode in 
>> localFurnitureModelUUIDsToInterfaceElements!.values where 
>> otherPieceOfFurnitureNode !== pieceOfFurnitureNode {
>> …
>>         }
>> 
>>         for lineSegmentObject in wallRelatedLineSegments where 
>> remainingLineSegments.contains(lineSegmentObject) {
>> …
>>         }
>> 
>>         for colinearLineSegmentObject in remainingLineSegments where 
>> colinearLineSegmentObject.angle.isEssentially(infiniteLineAngle: 
>> lineSegmentObject.angle) {
>> …
>>         }
>> 
>> 
>> I think this is basically as many as are found on all of github?
>> 
>> -W
> 
> _______________________________________________
> 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

Reply via email to