[swift-evolution] SE-0105: Removing Where Clauses from For-In Loops
Brandon Knope
bknope at me.com
Fri Jun 24 10:32:10 CDT 2016
> On Jun 24, 2016, at 11:06 AM, Sean Heber via swift-evolution <swift-evolution at swift.org> wrote:
> 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 {
> }
>
Just for completeness, these will now be:
if let there = debugClickedSurfaceAt, let here = mouseSurface, Global.debugPathTest {
}
if let here = mouseAt, Global.debugWalkNeighbors {
}
Not too sure if this is any clearer ¯\_(ツ)_/¯
>
> l8r
> Sean
>
>
>
>
>> On Jun 24, 2016, at 8:24 AM, Erica Sadun via swift-evolution <swift-evolution at 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 <wjs at 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 at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
More information about the swift-evolution
mailing list