Regards (From mobile)
> On Jun 23, 2016, at 8:51 PM, Charlie Monroe via swift-evolution > <[email protected]> wrote: > > >> On Jun 23, 2016, at 8:45 PM, Tim Vermeulen via swift-evolution >> <[email protected]> wrote: >> >> I would love to be able to do something like >> >> doSomething(with: myOptional?) > > This actually looks good to me, though if I were a newcomer to the language, > it would be really cryptic. > > In case the function returned any value, it could become an optional, just > like with try?... > > I still, however, prefer the original proposal of if let myOptional! { > doSomething(myOptional) }... > func doSomething<T> (with: t:T?, h: T -> ()) { if let t = self as? T { h(t) } } extension Optional { func unwrap<T> (_ h: T -> ()) { if let t = self as? T { h(t) } } } Var s2:Sting? s2.unwrap { (str:String) in print(":)") } doSomething(with:s2) { //same as above} Nothing happens in both cases >> >> which would be equivalent to >> >> if let myValue = myOptional { >> doSomething(with: myValue) >> } >> >> But it’s been discussed here before, and I don’t think people were very >> enthusiastic about it. >> >>> I was wondering if people would be open to adding an unwrap method to the >>> Optional type,I already have a method like this which shortens code for me. >>> >>> So this: >>> >>> let myReallyLongOptionalName: String? = "Hey" >>> >>> if let string = myReallyLongOptionalName { >>> doSomethingWith(string) >>> } >>> >>> Could become" >>> >>> let myReallyLongOptionalName: String? = "Hey" >>> >>> myReallyLongOptionalName.unwrap { >>> doSomethingWith($0) >>> } >>> >>> The block would only be fired if myReallyLongOptionalName has a value. >>> >>> >>> ___________________________________ >>> >>> >>> James⎥Head of Trolls >>> >>> >>> [email protected](mailto:[email protected])⎥supmenow.com(http://supmenow.com) >>> >>> >>> Sup >>> >>> >>> Runway East >>> >>> >>> 10 Finsbury Square >>> >>> >>> London >>> >>> >>> EC2A 1AF >> _______________________________________________ >> swift-evolution mailing list >> [email protected] >> https://lists.swift.org/mailman/listinfo/swift-evolution > > _______________________________________________ > swift-evolution mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
