We’ve also got two occurrences in our closed source, production code:

for (predicate, callback) in predicatesAndCallbacks where predicate(typedEvent) 
{
    callback(typedEvent)
}

and:

for conversation in conversations where conversation.state == .Established { }

They’re both quite simple and short, but I find them very readable (and I find 
the first one quite elegant). That said, it wouldn’t be much trouble for us to 
rewrite these using guard statements or any other construct. 

- David


> On 27 Jun 2016, at 00:47, Russ Bishop via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
>> 
>> On Jun 23, 2016, at 7:14 PM, Erica Sadun via swift-evolution 
>> <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote:
>> 
>> 
>>> On Jun 23, 2016, at 7:34 PM, William Shipley via swift-evolution 
>>> <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote:
>>> 
>>> I’m against removing “where" from “for/in”. I use it in my code and I think 
>>> it aids readability quite a bit. In the example:
>>> 
>>> for x in theArray where x % 2 == 1 { print (x) }
>> I have used odd-even examples a lot when presenting this concept, and 
>> inevitably the response
>> is "Whoa, that's cool". What I'm missing are more challenging real-world 
>> use-cases to justify 
>> the construct, and an exploration of why the challenging cases would not 
>> need debugger 
>> support at that point.
>> 
>> My concern (and I am happy to be corrected) is that any code that becomes 
>> slightly more 
>> complex loses the beauty and readability and hinders debugging at the same 
>> time.
>> 
>> — E
> 
> Here are two that are shipping right now. 
> 
> for (key, tile) in self._cache where tile.tintColor != self.tintColor { }
> 
> for innerArray in actualValue where innerArray.contains(expectedElement) { }
> 
> Russ
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org <mailto:swift-evolution@swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution 
> <https://lists.swift.org/mailman/listinfo/swift-evolution>
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to