Case .none:
Case .some("string"):

> On Jun 28, 2016, at 06:40, Lucas Jordan via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
> Forgive me if this was/is discussed already, I am new to the process here....
> 
> (code is attached as a playground too)
> 
> 
> 
> Sometimes when I am working with a String? nil can be a reasonable value, and 
> what I want to do is something like the following:
> 
> import UIKit
> 
> 
> 
> var str:String? = "Hello, playground"
> 
> 
> 
> switch str{
> 
> case nil:
> 
>     print("Nil!")
> 
> case "Hello, playground":  //it would be super nice if this worked.
> 
>     print("Match")
> 
> default:
> 
>     print("Some other non nil value?")
> 
> }
> 
> 
> 
> But it does not work, the orange  text is a compile time error, "Expression 
> pattern of type 'String' cannot match value of type 'String?'. I realize that 
> this can be replaced with a let statement (case let s where s == "Hello, 
> playground":), but that is verbose. 
> 
> Seems like the compiler could be OK with the orange text, since it is clearly 
> not nil.
> 
> Thoughts?
> 
> -Lucas
> 
> 
> 
> 
> 
> <NilInSwitchStatements.playground.zip>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to