> On 18 Oct 2016, at 09:58, Седых Александр via swift-users 
> <swift-users@swift.org> wrote:
> 
> This code work: 
> 
> let one: Int? = 5
> let two = 5
> let result = one == two
>  
> print(result)
> 
> //print true
> 
> Why we can access to Optional value without unwrap within comparison 
> operations?

The 'one' value isn't being unwrapped; the 'two' value is being wrapped in an 
optional, and then compared. In effect, it's doing:

let result = one == Optional(two)

This allows you to pass in non-optional values to functions that take optional 
arguments, e.g.

func printme(_ i:Int?) { print("\(i)") }

printme(one)
printme(two)

Alex
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to