[swift-evolution] Add an ifPresent function to Optional

Jordan Rose jordan_rose at apple.com
Mon Mar 14 22:12:04 CDT 2016


We've talked about this before, so I'm going to link directly to my (negative) response from back then: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151214/003697.html.

(The rest of the thread is certainly also relevant, but my past opinion is still the one I most identify with here!)

Jordan

> On Mar 11, 2016, at 12:15 , Dave via swift-evolution <swift-evolution at swift.org> wrote:
> 
> +1.
> 
> I’d go so far as to suggest that maybe Optional should conform to CollectionProtocol, since you can pretty easily think of an Optional as a collection that can’t have more than one element.
> 
> - Dave Sweeris
> 
>> On Mar 10, 2016, at 7:32 PM, Erica Sadun via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> 
>> While I'm not convinced of the utility or lack thereof, wouldn't it make more sense 
>> to extend `forEach` to support optionals in a similar way that map and flapMap 
>> currently do rather than introduce `ifPresent`?
>> 
>> let y: Int? = 1
>> let n: Int? = nil
>> 
>> _ = y.map({ print($0) }) // works in current Swift
>> _ = n.map({ print($0) }) // ditto
>> 
>> y.forEach{ print($0) } // not currently a thing
>> n.forEach{ print($0) } // ditto
>> 
>> Just spitballing here.
>> 
>> -- E
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160314/7f473f13/attachment.html>


More information about the swift-evolution mailing list