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 > <javascript:_e(%7B%7D,'cvml','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 > <javascript:_e(%7B%7D,'cvml','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