On 04/30/2013 03:34 PM, Ethan Furman wrote:
On 04/30/2013 03:24 PM, Glenn Linderman wrote:
On 4/30/2013 1:12 PM, Ethan Furman wrote:
Greetings,
Eli asked me to put the reference implementation here for review.
It is available at https://bitbucket.org/stoneleaf/aenum in ref435.py and
test_ref435.py
Thanks for the code reference.
Tests ran fine here on Python 3.3
If I alter test_ref435.py at the end, as follows, I get an error: nothing
matches 'BDFL'
Can someone explain why?
if __name__ == '__main__':
class AnotherName( Name ):
'just uses prior names'
print(AnotherName['BDFL'])
Because Guido said no subclassing.
At this point, if you try to subclass all your getting is the same type. So
AnotherName is a string Enumeration.
It wouldn't be hard to check for instances of the Enum in question, and if there are some to raise an error instead.
That way:
--> class StrEnum(str, Enum):
... 'str-based enumerations'
--> class Names(StrEnum): # this works, as StrEnum has no instances
... BDFL = 'GvR'
--> class MoreNames(Names): # this fails, as Names has instances
Thoughts?
--
~Ethan~
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com