I think that we should change it to `if. Inline filtering is useful, even if it isn't used much at present but the inconsistency doesn't help adoption.
On Fri, Jun 24, 2016 at 11:06 AM, Sean Heber via swift-evolution < swift-evolution@swift.org> wrote: > 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 < > swift-evolution@swift.org> 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 <w...@mac.com> 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 > > swift-evolution@swift.org > > https://lists.swift.org/mailman/listinfo/swift-evolution > > _______________________________________________ > swift-evolution mailing list > swift-evolution@swift.org > https://lists.swift.org/mailman/listinfo/swift-evolution >
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution