Try this:

enum Size: String { case Fit, Fill }
print(Size.Fit.rawValue)

On 01.06.2016 13:42, Leonardo Pessoa via swift-evolution wrote:
Just a fix. I've just tried the following code and the compiler complained
there is no .rawValue on the type.

|   enum Size { case Fit, Fill }
|   print(Size.Fit.rawValue)

Then, as I said before, you can only get the value name as a string from
interpolation and need to do everything by hand the other way around.

L
---------------------------------------------------------------------------
From: Charlie Monroe via swift-evolution <mailto:swift-evolution@swift.org>
Sent: ‎01/‎06/‎2016 07:19 AM
To: Brent Royal-Gordon <mailto:br...@architechies.com>
Cc: Swift-evolution <mailto:swift-evolution@swift.org>
Subject: Re: [swift-evolution] Working with enums by name

Sorry, must've missed that.

On Jun 1, 2016, at 12:17 PM, Brent Royal-Gordon <br...@architechies.com>
wrote:

This is, however, kind of a hack IMHO that relies on the compiler
behavior that isn't well documented.

It's documented in "The Swift Programming Language", in the same
paragraphs where the `enum Planet` example we've been working with comes from.

“When you’re working with enumerations that store integer or string raw
values, you don’t have to explicitly assign a raw value for each case. When
you don’t, Swift will automatically assign the values for you.
<snip>
“When strings are used for raw values, the implicit value for each case
is the text of that case’s name.”

--
Brent Royal-Gordon
Architechies


_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution


_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to