[swift-evolution] Proposal: Replace ?? by an (optional) argument to ?

Howard Lovatt howard.lovatt at gmail.com
Mon Jan 25 20:43:42 CST 2016


I am no fan of the ?? operator since it tends to disappear in an expression, a bit like ?: does, and it fails the test of being well known or well established (see API guidelines). Also it isn't used often, therefore I would suggest a method, ifNil, added to Optional instead:

  x.ifNil(false)

> On 26 Jan 2016, at 1:32 PM, Craig Cruden via swift-evolution <swift-evolution at swift.org> wrote:
> 
> I agree - ?? looks better — at least better than the example shown…. the suggested replacement looks messy and is not an improvement (occasional swift coder - as such I am less biased than other Swiftees). 
> 
> 
>> On 2016-01-26, at 9:28:50, Erica Sadun via swift-evolution <swift-evolution at swift.org> wrote:
>> 
>> Not loving this.  I'm quite happy with ??-coalescing and don't see
>> a compelling reason it needs to be "cleaner". I find your suggested
>> enhancement less readable. Looks like an optional chaining across 
>> a function.
>> 
>> -- E
>> 
>>> On Jan 25, 2016, at 7:03 PM, Amir Michail via swift-evolution <swift-evolution at swift.org> wrote:
>>> 
>>> Examples:
>>> 
>>> * instead of x ?? false, you would have x?(false)
>>> * instead of x?.isEmpty ?? false, you would have x?(false).isEmpty
>>> 
>>> I think this change would result in cleaner looking code.
>>> 
>>> 
>>> _______________________________________________
>>> 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
> 
> _______________________________________________
> 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