我正在编写的AcecoolLib软件包是实用程序系统的一部分,其中将所有/大部分逻辑移植到Python和其他各种语言上,其中包含一个简单但非常有用的帮助程序……一个名为ENUM的函数。>
它具有许多有用的功能,例如自动创建枚举映射,扩展或反向映射(如果您分配的映射不仅限于值)以及更多功能。
它可以创建用于动态生成函数名称的映射,它可以在枚举和语言的文本或字符串标识符之间创建简单的映射。
函数声明也很简单:
def ENUM( _count = None,*_maps ):
它有一个额外的帮助程序...这里:https://www.dropbox.com/s/6gzi44i7dh58v61/dynamic_properties_accessorfuncs_and_more.py?dl=0
不使用另一个。 ENUM_MAP
是,但另一个不是。
无论如何,在我开始学习等等之前。问题是:
如何计算函数外的返回变量...即:
ENUM_EXAMPLE_A,ENUM_EXAMPLE_B,ENUM_EXAMPLE_C,ENUM_LIST_EXAMPLE,MAP_ENUM_EXAMPLE = ENUM( None,[ '#example_a','#example_b','#example_c' ] )
列表是0 = 0,1 = 1,2 = 2
或其他内容的简单列表。 ,则地图链接为[ 0 = '#example_a',1 = '#example_b',etc.. ]
,然后为[ '#example_a' = 0,etc.. ]
进行反向链接...或沿这些方向的链接。
还有其他高级用例,不确定我是否在上面的文件中具有这些功能,但是不管...我试图简单地计算返回变量...并获取名称。
我知道有可能,读取执行调用的行...读取文件,获取该行,将其拆开,然后执行所有这些操作...但是我希望存在无需在默认的Python系统中从头开始编写代码即可做到这一点...
简而言之:我想摆脱ENUM( _count,*_maps )
的第一个参数,以便仅使用可选的*_maps
。因此,如果我调用:ENUM_A,ENUM_B,ENUM_C,LIST_ENUMS = ENUM( );
,它将检测到4个输出返回值,并获取它们的名称,以便我可以查看最后一个是否包含某些与第一个样式不同的文本……即,是否需要列表等...。如果他们添加了地图,则添加了可选列表等。我可以倒数n _maps来找到列表arg,否则...
我知道这可能不是必需的,但是我希望它既简单又动态,所以如果我将一个新的枚举添加到巨型列表中,则不必添加数字(尽管对于那些我使用地图的人而言)这意味着无论如何我都必须添加一个条目)...
无论哪种方式-我在Lua中都知道,使用内置函数很容易做到这一点。我希望Python也内置了可以轻松获取数据的函数。
谢谢!