[Python-Dev] [Python-checkins] peps: Pre-alpha draft for PEP 435 (enum). The name is not important at the moment, as
Ethan Furman
ethan at stoneleaf.us
Mon Feb 25 04:32:17 CET 2013
On 02/24/2013 05:40 PM, Barry Warsaw wrote:
> On Feb 23, 2013, at 04:02 PM, Stefan Krah wrote:
>
>>> +Ordered comparisons between enumeration values are *not* supported. Enums
>>> are +not integers!
>>
>> Hmm. I think this limits interoperation with C libraries and prototyping
>> C code.
>
> This is mostly a red-herring. flufl.enum values are C-level int compatible
> without actually *being* ints.
>
> E.g.
>
> static PyObject *
> intcompat_printint(PyObject *self, PyObject *args)
> {
> int value;
> if (!PyArg_ParseTuple(args, "i", &value))
> return NULL;
>
> printf("and the value is: %d\n", value);
> Py_RETURN_NONE;
> }
>
>>>> from _intcompat import *
>>>> printint(7)
> and the value is: 7
>>>> from flufl.enum import make
>>>> Colors = make('Colors', 'red green blue'.split())
>>>> printint(Colors.green)
> and the value is: 2
Okay, that's pretty cool.
I would still like the int subclass, though, as it would be an aid to me on the Python side.
--
~Ethan~
More information about the Python-Dev
mailing list