[swift-evolution] Anonymous Enums
Sean Heber
sean at fifthace.com
Fri Feb 19 14:59:09 CST 2016
Good point! I guess it’s not exactly a huge savings. :P I just liked the look of the syntax. :)
l8r
Sean
> On Feb 19, 2016, at 2:57 PM, Harlan Haskins <harlan at harlanhaskins.com> wrote:
>
> My worry is that this isn’t very different from
>
> enum Temperature { case low, normal, high }
>
> It’s 7 more characters and fully expressible now.
>
> - Harlan
>
>> On Feb 19, 2016, at 12:48 PM, Sean Heber via swift-evolution <swift-evolution at swift.org> wrote:
>>
>> 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
>>
>> _______________________________________________
>> 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