[swift-evolution] [Idea] Wrap switch cases in curly braces
David Sweeris
davesweeris at mac.com
Fri Jul 8 00:37:32 CDT 2016
What would be the proposed syntax for cases with associated values?
In general, +1 for simplifying the syntax, but I'm not sure it'd work well, given that enums take on a larger roll in Swift than they do in other languages. Or maybe it'd be fine... I'm just too tired to picture it in my head.
- Dave Sweeris
> On Jul 7, 2016, at 15:07, G B via swift-evolution <swift-evolution at swift.org> wrote:
>
> It has always seemed odd to me that `case`s use a colon as a delimiter rather than curly braces like everything else. Is there a reason for this other than the legacy of C-like languages?
>
> If I wanted to write a series of branching `if` \ `else` statements I would do it like so:
>
> if x==0 { print(0) }
> else if x==1 { print (1) }
> else if x==2 { print(2) }
> else { print("other”) }
>
> I believe all flow control is wrapped in curly braces, except for `case`s inside a `switch`:
>
> switch x {
> case 0: print(0)
> case 1: print(1)
> case 2: print(2)
> default: print("other")
> }
>
>
> I feel like this would be more consistent with the rest of the syntax:
>
> switch x {
> case 0 { print(0) }
> case 1 { print(1) }
> case 2 { print(2) }
> default { print("other”) }
> }
>
> The colon syntax evokes a label, but the modern, complex `case` statements in Swift don’t act much like labels.
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
More information about the swift-evolution
mailing list