No

  7> switch str {
  8. case "foo": print("case foo")
  9. case .none: print("(nil)")
 10. }
error: repl.swift:8:6: error: value of optional type 'String?' not unwrapped; 
did you mean to use '!' or '?'?
case "foo": print("case foo")
     ^
          !
Odd error, but at least it suggests it’s an issue with optionaity.

> On Jun 28, 2016, at 9:27 AM, Nevin Brackett-Rozinsky 
> <nevin.brackettrozin...@gmail.com> wrote:
> 
> Does `case "text"?` work?
> 
> 
> On Tuesday, June 28, 2016, Kevin Nattinger via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 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