[swift-evolution] [Proposal] Enums with static stored properties foreach case

David Sweeris davesweeris at mac.com
Wed May 25 22:15:02 CDT 2016


On May 25, 2016, at 7:37 AM, Leonardo Pessoa via swift-evolution <swift-evolution at swift.org> wrote:
> 
> Hi,
> 
> Couldn't this be solved by using tuples? If not because the syntax is not allowed I think this would be more coherent to do it using current syntax.
> 
> enum Planet : (mass: Float, radius: Float) {
>     case mercury = (mass: 3.303e+23, radius: 2.4397e6)
>     case venus = (mass: 4.869e+24, radius: 6.0518e6)
>     case earth = (mass: 5.976e+24, radius: 6.37814e6)
>     case mars = (mass: 6.421e+23, radius: 3.3972e6)
>     case jupiter = (mass: 1.9e+27, radius: 7.1492e7)
>     case saturn = (mass: 5.688e+26, radius: 6.0268e7)
>     case uranus = (mass: 8.686e+25, radius: 2.5559e7)
>     case neptune = (mass: 1.024e+26, radius: 2.4746e7)
> }


This would be my preferred solution… AFAIK, the only reason we can’t do it now is that Swift currently requires RawValue be an integer, floating-point value, or string. I don’t know why the language has this restriction, so I can’t comment on how hard it would be to change.

- Dave Sweeris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160525/19ac64d4/attachment.html>


More information about the swift-evolution mailing list