[swift-evolution] Proposal: enum labels for switch cases

Howard Lovatt howard.lovatt at gmail.com
Mon Feb 1 18:03:22 CST 2016


Isn't that just a nested enum:

    enum X {
        case L1: L1Type
        case L2: L2Type
        enum L1Type {
            case A, B, C
        }
        enum L2Type {
            case D, E, F
       }
}

On 2 February 2016 at 10:53, Amir Michail via swift-evolution <
swift-evolution at swift.org> wrote:

> These labels allow you to group items in an enum:
>
> enum X {
> L1:
> case A, B
> case C
> L2:
> case D, E, F
> }
>
> switch x {
> case L1: handleL1(x)
> case L2: handleL2(x)
> }
>
> func handleL1(x:X) {
>   switch x L1 {
>     case .A: ...
>     case .B: ...
>     case .D: ...
>   }
> }
>
> func handleL2(x:X) {
>   switch x L2 {
>     case .D: ...
>     case .E: ...
>     case .F: ...
>   }
> }
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>



-- 
  -- Howard.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160202/44fc8518/attachment.html>


More information about the swift-evolution mailing list