[swift-evolution] Anonymous Enums

Sean Heber sean at fifthace.com
Fri Feb 19 14:48:31 CST 2016


I too very much like the cleverness of this, but in my experience often what is initially a single-use enum turns into a multi-use enum in short order, so I don’t know if I’d be able to use this much at the end of the day.

Gotta say I like that syntax, though. Could be neat as a shorthand for defining regular enum cases, maybe! :P

enum Temperature = [low | normal | high]

l8r
Sean


> On Feb 19, 2016, at 2:42 PM, Erica Sadun via swift-evolution <swift-evolution at swift.org> wrote:
> 
> It's certainly clever and I particularly like the temperature example.
> 
> -- E
> 
> 
>> On Feb 19, 2016, at 9:46 AM, Yong hee Lee via swift-evolution <swift-evolution at swift.org> wrote:
>> 
>> Hi, I have a proposal.
>> 
>> 
>> enum Foo {
>>   case foo,bar
>> }
>> 
>> func test(a:Foo) {
>>   // …
>> }
>> 
>> test(.bar)
>> 
>> 
>> If I use an enum only as a parameter of a function, the name of enum  is redundant. 
>> 
>> so I suggest a compact version like below.
>> 
>> 
>> 
>> func test(a:[foo|bar]) {
>>   // ...
>> }
>> 
>> test(.bar)
>> 
>> 
>> 
>> func adjustTemperature(temp:[low|normal|high]) {
>>   // ...
>> }
>> 
>> adjustTemperature(.high)
>> 
>> 
>> 
>> I think this is very useful.
>> What do you think?
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 
> _______________________________________________
> 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