Passa ai contenuti principali

Post

Visualizzazione dei post da marzo, 2013

python ed enum

Stavolta la faccio breve, mi capita ogni tanto di dovere ricorrere ad un tipo che ricordi gli enum del C con l'associazione numerica delle chiavi, una versione basica (dove gli indici sono progressivi senza poterne settare i valori) potrebbe essere: class Enum(): def __init__(self, a_list): self.a_list = a_list def __getattr__(self, name): if name in self.a_list: return self.a_list.index(name) raise AttributeError l'uso è assai semplice: Colors = Enum(['red', 'white', 'green', 'orange']) print Colors.white # 1 :-)