[swift-evolution] Shorthand unwrap proposal

Charlie Monroe charlie at charliemonroe.net
Thu Jun 23 13:51:20 CDT 2016


> On Jun 23, 2016, at 8:45 PM, Tim Vermeulen via swift-evolution <swift-evolution at swift.org> 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) }...

> 
> 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
>> 
>> 
>> james at supmenow.com(mailto:james at supmenow.com)⎥supmenow.com(http://supmenow.com)
>> 
>> 
>> Sup
>> 
>> 
>> Runway East
>> 
>> 
>> 10 Finsbury Square
>> 
>> 
>> London
>> 
>> 
>> EC2A 1AF
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution



More information about the swift-evolution mailing list