[swift-users] optional variable with ternary operator

Saagar Jha saagar at saagarjha.com
Mon May 8 22:57:13 CDT 2017


This functionality was removed via SE-0121, back in the Swift 3 timeframe.

Saagar Jha

> On May 8, 2017, at 19:49, Zhao Xin <owenzx at gmail.com> wrote:
> 
> I wonder if it has ever been allowed? I am using Xcode and it never allows that. 
> For you specific question, you can use
> 
> var number:Int?
> let result = (number ?? -1) > 0 ? 1 : 2
> 
> Zhaoxin
> 
> On Tue, May 9, 2017 at 1:39 AM, Erica Sadun via swift-users <swift-users at swift.org <mailto:swift-users at swift.org>> wrote:
> I believe this falls under "future directions" for comparison reform.
> 
> Here's an example of a short term solution: https://gist.github.com/erica/77b110e17e51dbea7d6934e6582f627f <https://gist.github.com/erica/77b110e17e51dbea7d6934e6582f627f>
> 
> -- E, who moved this from SE to Swift Users
> 
> 
>> On May 8, 2017, at 10:13 AM, Saagar Jha via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> 
>> Well, you’re not allowed to compare optionals any more. You can try binding the value to an Int, so that it’s not an optional anymore:
>> 
>> if let number = number {
>> 	let result = number > 0 ? 1 : 2
>> }
>> 
>> Either way, you’ll have to decide what you think should happen when number is nil.
>> 
>> Saagar Jha
>> 
>>> On May 8, 2017, at 00:36, Suresh Kansujiya via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>> 
>>> Hey,
>>> 
>>> i am using ternary operator with optional variable. like below ex.
>>> 
>>> var number:Int?
>>> let result = number > 0 ? 1 : 2  
>>> here i am getting this waring : comparison operators with optionals were removed from the Swift Standard Library. Consider refactoring the code to use the non-optional operators
>>> 
>>> Note : i must need to use ternary operator for checking.
>>> 
>>> Regards
>>> Suresh Kansujiya
>>> _______________________________________________
>>> 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>
> 
> 
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org <mailto:swift-users at swift.org>
> https://lists.swift.org/mailman/listinfo/swift-users <https://lists.swift.org/mailman/listinfo/swift-users>
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20170508/ae611b97/attachment.html>


More information about the swift-users mailing list