[swift-evolution] ternary operator ?: suggestion
Paul Ossenbruggen
possen at gmail.com
Tue Dec 22 11:47:08 CST 2015
These are some very interesting ideas to explore. I definitely want to play with the bar character as a separator. This could nicely deal with the problem of the double colon in the hybrid approach.
I like this thinking as it really explores a different approach.It is cool the way it can be lined up like that and it reads well when you think of the bar as “when”. I am a little concerned that some may be considered weird but not better than the ternary, which is some of the feedback I got from my earlier designs. I suppose if we are making a breaking change though, that may be okay but keep in mind it there should be a reason for making it different. This suggestion definitely has a different feel than the existing ternary. How do people feel about that?
I also agree, I am not sure how that would work for expressions.
> On Dec 22, 2015, at 7:36 AM, Matthew Johnson via swift-evolution <swift-evolution at swift.org> wrote:
>
> This looks reasonable in declarations but how would it work in expressions? Or are you suggesting that it is only usable for declarations?
>
> Sent from my iPad
>
> On Dec 22, 2015, at 9:25 AM, Angelo Villegas via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>
>> I for one feels like the ternary operator still has a future with Swift.
>>
>> If the discussion with ternary will go on though, I would like to weigh in a suggestion:
>>
>> let a | x == y = a
>> | otherwise = b
>>
>> let b | colour.Red = 0xff0000
>> | colour.Green = 0x00ff00
>> | colour.Blue = 0x0000ff
>> | otherwise = 0x000000
>>
>> My rule of thumb for a style like this is that if you can read it as if it was English (read | (bar) as "when", | otherwise (bar otherwise) as "otherwise" and = as "is" or "be"), you're probably doing something right.
>>
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20151222/2e58bfb3/attachment.html>
More information about the swift-evolution
mailing list