Best proposition since, but still more verbose than the ternary operator.
On 04 Dec 2015, at 18:27, David Owens II <david@owensd.io > <javascript:_e(%7B%7D,'cvml','david@owensd.io');>> wrote:
Thereâs no need for the âthen" keyword if you just allow if-expressions as
well.
let result = if condition { 1 } else { 2 }
Or more verbosely:
let result =
if condition {
return 1
}
else {
return 2
}
The same could be for switch statements as well.
let result = switch item {
case foo: 1
case bar: 2
}
The above assume implicit returns on single-line statements on the
condition/case branches.
-David
On Dec 3, 2015, at 11:26 PM, David Hart <david@hartbit.com > <javascript:_e(%7B%7D,'cvml','david@hartbit.com');>> wrote:
I also tend to agree but I don't like the ordering in the Python version
and would rather see the introduction of the then keyword
On 04 Dec 2015, at 06:08, Sean Heber <sean@fifthace.com > <javascript:_e(%7B%7D,'cvml','sean@fifthace.com');>> wrote:
I agree that using ? for ternary feels.. uncomfortable in Swift. I
wouldn't mind seeing Python-style or just eliminating it entirely in favor
of simplicity.
l8r
Sean
On Dec 3, 2015, at 10:48 PM, Dan Appel <dan.appel00@gmail.com > <javascript:_e(%7B%7D,'cvml','dan.appel00@gmail.com');>> wrote:
I agree that ternary can make code unreadable, especially so with the â?â.
I personally like the Haskel option the most, but it introduces a new
keyword âthenâ, which isnât great either. Pythonâs "y if x else z" is
therefore, in my opinion, the best alternative.
Also, I found it interesting how split the Rust community was about
removing the ternary operator.
â
Dan Appel
On Thu, Dec 3, 2015 at 7:58 PM J. Cheyo Jimenez <cheyo@masters3d.com > <javascript:_e(%7B%7D,'cvml','cheyo@masters3d.com');>> wrote:
Would you consider replacing the C style ?: ternary operator to something
that does not use the question mark and colon ?
The use of "?" can be confusing when speed reading code with optionals.
Consider this code as somebody learning swift as their first language.
let result = !condition ? 1 : 2
Some alternatives:
Haskel
if predicate then expr1 else expr2
Python
result = x if a > b else y
The advantage of not using the question mark is that the language will be
more consistency on the use of "?" to mean only optionals.
References:
Apple Developer Forums
Remove ternary operator ¡ Issue #1698 ¡ rust-lang/rust ¡ GitHub
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
<javascript:_e(%7B%7D,'cvml','swift-evolution@swift.org');>
https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
<javascript:_e(%7B%7D,'cvml','swift-evolution@swift.org');>
https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
<javascript:_e(%7B%7D,'cvml','swift-evolution@swift.org');>
https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
<javascript:_e(%7B%7D,'cvml','swift-evolution@swift.org');>
https://lists.swift.org/mailman/listinfo/swift-evolution