[swift-evolution] ternary operator ?: suggestion
Lukas Stabe
ahti333 at gmail.com
Sat Dec 5 18:32:51 CST 2015
> I don't think you can just get rid of the if statement in favor of an expression. You still want to be able to do this:
>
> if (condition) {
> funcWithSideEffectsThatReturnsInt()
> } else {
> funcWithSideEffectsThatReturnsString()
> }
>
> but that's not a valid expression (what is its type?).
An if statement with two different types could just have the closes common ancestor or Any as type.
> Yeah, returning an optional is a good idea.
This would, interestingly, make the else statement very similar to the optional-chaining operator ?? with the small difference that the second argument is a block (and does ?? autoclosure the second arg?).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20151206/611fa694/attachment.html>
More information about the swift-evolution
mailing list