Sure, the exact syntax is a matter of discussion, I just wasn't that much of 
favor of the very short

doSomething(with: myOptional?)

- it looks like a great idea, making the code really short
- on the other hand the question mark is next to the variable, but the method's 
execution is optional - in that sense something like doSomething(?: 
myOptional)(with: myOptional) makes more sense, declaring explicitely what 
optionals does the execution depend on.
- nevertheless, in the interest of clarity and readability of the code, I'm 
still in favor of the original proposal, which requires you to either use if or 
guard.

> On Jun 23, 2016, at 8:57 PM, Tim Vermeulen <tvermeu...@me.com> wrote:
> 
> But ! still suggests force unwrapping, while ? suggests safe unwrapping. Why 
> not use a question mark?
> 
>> 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<tvermeu...@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@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
>>>>>> 
>>>>>> 
>>>>>> ja...@supmenow.com(mailto:ja...@supmenow.com)⎥supmenow.com(http://supmenow.com)
>>>>>> 
>>>>>> 
>>>>>> Sup
>>>>>> 
>>>>>> 
>>>>>> Runway East
>>>>>> 
>>>>>> 
>>>>>> 10 Finsbury Square
>>>>>> 
>>>>>> 
>>>>>> London
>>>>>> 
>>>>>> 
>>>>>> EC2A 1AF
>>>>> _______________________________________________
>>>>> swift-evolution mailing list
>>>>> 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

Reply via email to