How would you write 

for x in array as? <something>

With parentheses? I like "in?" because it mimics "as?".

Sent from my iPhone

> On Feb 10, 2017, at 13:57, Jacob Bandes-Storch <jtban...@gmail.com> wrote:
> 
> To me it would seem more logical as "for x in array? { }" — to parallel "for 
> case let x? in array { }"
> 
> 
>> On Fri, Feb 10, 2017 at 1:03 PM, Rick Mann via swift-users 
>> <swift-users@swift.org> wrote:
>> I love the idea of for in? (Or even for? In). You should pitch that to 
>> evolution. 
>> 
>> Sent from my iPhone
>> 
>>> On Feb 10, 2017, at 07:04, Tino Heth <2...@gmx.de> wrote:
>>> 
>>> 
>>>> Is there any concise way to write the following?
>>>> 
>>>> if let collection = someOptionalCollection
>>>> {
>>>>    for item in collection
>>>>    {
>>>>    }
>>>> }
>>> I've been thinking about that lately, but haven't had the time to look 
>>> wether someone on evolution already proposed a "for in?"-loop…
>>> 
>>> Imho the "forEach" solution is flawed, because you can't break the loop, 
>>> and the "?? []" isn't perfect either:
>>> I hope the compiler can optimise so that the assembly is as fast as the "if 
>>> let" solution, but even if this is the case, it is not obvious for a human 
>>> reader.
>>> 
>>> This
>>> 
>>> extension Optional where Wrapped: Sequence {
>>>     var elements: [Wrapped.Iterator.Element] {
>>>             switch (self) {
>>>             case .none:
>>>             return []
>>>             case .some(let o):
>>>             return Array(o)
>>>             }
>>>     }
>>> }
>>> 
>>> let test: [Int]? = nil
>>> for i in test.elements {
>>>     print(i)
>>> }
>>> 
>>> looks nice to me (except the return type — I guess there are better 
>>> options), but I don't expect that the compiler can do much to optimise it.
>>> 
>>> for i in? test {
>>>     print(i)
>>> }
>>> 
>>> Imho looks even better, but this would need an extension of the language 
>>> itself…
>>> 
>> 
>> _______________________________________________
>> swift-users mailing list
>> swift-users@swift.org
>> https://lists.swift.org/mailman/listinfo/swift-users
>> 
> 
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to