Now *that* reminds me of the _ voodoo in perl... and i was under the impression that magic symbols are not highly regarded in swift (which I really appreciate!!)
Regards LM (From mobile) > On May 17, 2016, at 5:31 PM, Patrick Smith via swift-evolution > <swift-evolution@swift.org> wrote: > > Here’s a idea, what if you could use a symbol to denote that you want the > same name used? > > Here’s an interesting sign from music: > https://en.wikipedia.org/wiki/Repeat_sign > > Then you can write (one) of these: > > if let |: = mySomeValue { > // Use unwrapped > } > > if let mySomeValue = :| { > // Use unwrapped > } > > Not sure which one is more clear. Just a totally random idea! I’m not sure > about the above symbols, but it would help in other places too from memory to > not have to write the same variable name twice. > >>> On 18 May 2016, at 1:18 AM, Matthew Johnson via swift-evolution >>> <swift-evolution@swift.org> wrote: >>> >>> >>> On May 17, 2016, at 10:13 AM, Tony Allevato via swift-evolution >>> <swift-evolution@swift.org> 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. >> >> Agree. If we are going have syntax similar to pattern matching it should be >> the same as pattern matching. This would mean using ‘?' rather than ‘!’. >> However, we already have generalized pattern matching with `if case` for >> that. This topic has been debated extensively. >> >>> >>> >>>> On Tue, May 17, 2016 at 8:05 AM Vladimir.S via swift-evolution >>>> <swift-evolution@swift.org> 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 >>>> > <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> 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 >>>> > swift-evolution@swift.org <mailto: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 >>> _______________________________________________ >>> 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 > > _______________________________________________ > 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