[Python-ideas] PEP XXX - Competitor with PEP 435: Adding an enum type to the Python standard library
Ethan Furman
ethan at stoneleaf.us
Wed Mar 13 02:55:40 CET 2013
On 03/12/2013 06:03 PM, Random832 wrote:
> On 03/12/2013 06:17 PM, Alex Stewart wrote:
>> effectively multi-enum sets
> Speaking of sets... it seems like sets of single enum values would be a good way to represent "ORed-together enums". But
> then if you want a function to accept one, it has to be able to not care if it's only a single one or not.
>
> So, what if each value of a 'flags' type enum is also able to be treated as a single-member set of itself?
In aenum.py you are able to iterate over a BitMask enum, both single ones and ORed together ones, even if it only has
one value. The code looks like this:
8<----------------------------------------------------------------------
def __iter__(yo):
enums = []
for enum in yo._enums:
if int(enum) & int(yo):
enums.append(enum)
return iter(enums)
8<----------------------------------------------------------------------
--
~Ethan~
More information about the Python-ideas
mailing list