FWIW, agreed that more complex guard statements with shorter methods avoid the 
issue altogether (reminds me of using unless for similar purpose in perl).

Regards
LM
(From mobile)

> On May 17, 2016, at 5:15 PM, Sean Heber via swift-evolution 
> <[email protected]> wrote:
> 
> Yep - same here. I think I was one of the first to propose we find some 
> solution to this on the list back when it first started, and oddly enough, 
> with more Swift experience comes less and less feeling of this even being a 
> problem. I think as you start thinking more “in Swift” you start structuring 
> your code differently, using guards, changing the nature of the flow, and 
> suddenly these situations come up less often.
> 
> l8r
> Sean
> 
> 
>> On May 17, 2016, at 10:13 AM, Tony Allevato via swift-evolution 
>> <[email protected]> wrote:
>> 
>> While I've sometimes (early on) wished for a shorter-hand syntax for that 
>> construct, I've never been able to think of something that I thought was 
>> better. I've gotten to the point where I don't particularly mind it anymore.
>> 
>> Regarding the exclamation point specifically, seeing one of those in an 
>> expression context says to me "this thing will die horribly if it is 
>> nil/throws an error". Using it in this context where that's not the case 
>> would probably go against users' expectations.
>> 
>> 
>> On Tue, May 17, 2016 at 8:05 AM Vladimir.S via swift-evolution 
>> <[email protected]> wrote:
>>> On 17.05.2016 16:51, Johan Jensen wrote:
>>> This was one of the first and most commonly suggested ideas, when the Swift
>>> Evolution mailing list first started.
>>> Chris Lattner sums it up
>> <https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151214/003546.html>
>>> in one of those threads:
>>> 
>>>> This is commonly requested - the problem is that while it does help
>>> reduce boilerplate, it runs counter to the goal of improving clarity.
>>> 
>>> — Johan
>> 
>> Oh, thank you for letting this know.
>> 
>> Well, I totally disagree with Chris. And as soon as there was no 'official'
>> proposal and 'official' decision, I'd like to discuss this more.
>> 
>> I saw a lot of code like
>> if let mySomeValue = mySomeValue {} in sources and even in books.
>> Plus, I really believe that
>> if let mySomeValue! {..} is better in any way: readability, less space for
>> errors(when you need to repeat the same name) etc
>> 
>> FWIW, I suggest more explicit variant:
>> if let value! {...} // with exclamation mark
>> In that "old" proposal there was `if let value {...}`, was not so clear.
>> 
>> I can't accept an argument that you can use another name - as usually
>> 'good' name is already 'crafted' for the instance and you want to use it in
>> next code.
>> Otherwise, we need a 'best practice' to name optional variables with some
>> prefix or suffix like : mySomeValueOpt, then `if let mySomeValue =
>> mySomeValueOpt` will have a sense. But as I understand, we don't want to
>> use such approach.
>> Additionally, when you shadow optional value with same name - you are
>> *protecting* yourself from using optional value inside block of unwrapped
>> code. IMO it is a good idea.
>> And want we or don't want, we already have this practice widely. So I
>> believe this(my) proposal will improve the code.
>> 
>> I'd like to get opinion of the community regarding this feature.
>> 
>>> On 17.05.2016 16:51, Johan Jensen wrote:
>>> This was one of the first and most commonly suggested ideas, when the Swift
>>> Evolution mailing list first started.
>>> Chris Lattner sums it up
>>> <https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151214/003546.html>
>>> in one of those threads:
>>> 
>>>> This is commonly requested - the problem is that while it does help
>>> reduce boilerplate, it runs counter to the goal of improving clarity.
>>> 
>>> — Johan
>>> 
>>> On Tue, May 17, 2016 at 3:43 PM, Vladimir.S via swift-evolution
>>> <[email protected] <mailto:[email protected]>> wrote:
>>> 
>>>    It is common to shadow optional value name with unwrapped value with
>>>    same name:
>>> 
>>>    if let someGoodValue = someGoodValue {...}
>>> 
>>>    What if we'll have a syntax to not repeat the variable name to achieve
>>>    the same target:
>>> 
>>>    if let someGoodValue! {...}
>>> 
>>>    What do you think?
>>>    _______________________________________________
>>>    swift-evolution mailing list
>>>    [email protected] <mailto:[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
> 
> _______________________________________________
> 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

Reply via email to