[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