[swift-evolution] Shorthand unwrap proposal

Charlie Monroe charlie at charliemonroe.net
Thu Jun 23 13:55:21 CDT 2016


It was in the previous proposal and suggested that you are not trying to shadow the previous variable, but trying to unwrap it - and it acts as unwrapped from there on.


> On Jun 23, 2016, at 8:52 PM, Tim Vermeulen <tvermeulen at me.com> wrote:
> 
> Why with the exclamation mark? It suggests you’re force unwrapping something.
> 
>>> 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