On 04/29/2013 10:35 AM, Steven D'Aprano wrote: > On 30/04/13 02:42, Guido van Rossum wrote: >> On Mon, Apr 29, 2013 at 6:51 AM, Eli Bendersky <eliben at gmail.com> wrote: >>> I don't feel strongly about allowing ()-lookup in addition to >>> []-lookup, but >>> in this paragraph the issue of multiple definitions has sneaked in :-) >>> flufl.enum disallows this: >>> >>> class Color(Enum): >>> red = 1 >>> blue = 2 >>> green = 1 # oops! >>> >>> Has it been decided that this is now allowed? >> >> I don't recall if it was decided. I think it should be possible to >> create aliases like this. The main thing I care about is that >> Color.green == Color.red. > > I believe that Barry had decided that it should be prohibited. I > objected, and Nick pointed out that although declaring two enums with > the same value inside the class is prohibited, aliases are supported > by adding them from the outside: > > class Color(Enum): > red = 1 > blue = 2 > > Color.green = Color.red > > which satisfies me. Assuming that Color(1) always returns the same object, then we could also write this: class Color(Enum): red = 1 blue = 2 Color.green = Color(1) Which should be identical to class Color(Enum): red = 1 blue = 2 green = 1 To declare that my first example is okay but the second is not strikes me as awfully special. And I do mean awful. //arry/ -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20130429/19310a1f/attachment.html>
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4