Re: [Python-Dev] PEP 435 -- Adding an Enum type to the Python standard library

2013年4月13日 21:10:40 -0700

So clearly the ree expectation is that they compare equal (if the values
are).
On Apr 13, 2013 11:24 AM, "Scott Dial" <[email protected]>
wrote:
> On 4/12/2013 10:51 PM, Steven D'Aprano wrote:
> > And two examples from asm-generic/errno.h:
> >
> > #define EWOULDBLOCK EAGAIN /* Operation would block */
> > #define EDEADLOCK EDEADLK
> >
>
> That's actually even better of an example than you may have realized
> because historically EWOULDBLOCK != EAGAIN[1]. So, there very well may
> need to exist such code as:
>
> if <some hairy platform>:
> _EAGAIN = <X>
> _EWOULDBLOCK = <Y>
> else:
> _EAGAIN = _EWOULDBLOCK = <X>
>
> class Errno(Enum):
> EAGAIN = _EAGAIN
> EWOULDBLOCK = _EWOULDBLOCK
>
> I don't think it's all that uncommon that enum values that represent
> states of a system get merged or renamed over time, and this one is a
> great example of that.
>
> [1]
>
> http://www.gnu.org/savannah-checkouts/gnu/libc/manual/html_node/Error-Codes.html#index-EAGAIN-97
>
> --
> Scott Dial
> [email protected]
> _______________________________________________
> Python-Dev mailing list
> [email protected]
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
> http://mail.python.org/mailman/options/python-dev/guido%40python.org
>
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to