我正在我的Python代码中设置可能命令的枚举“ A”。 我还将创建另一个枚举“ B”,其中列出一些特定的命令“ A”。
因此我尝试了:
class all_commands(IntEnum):
SET_ELEMENT_A = 0x00000001
GET_ELEMENT_A = 0x00000007
GET_ELEMENT_B = 0x0000000E
SET_ELEMENT_C = 0x00000010
GET_ELEMENT_C = 0x00000011
GET_ELEMENT_D = 0x00000015
class getter_commands(IntEnum):
all_commands.GET_ELEMENT_A
all_commands.GET_ELEMENT_B
all_commands.GET_ELEMENT_C
all_commands.GET_ELEMENT_D
这对我来说似乎是正确的,但是当我尝试
all_commands.GET_ELEMENT_A in getter_commands
我得到一个False
结果值。
这是正常行为吗?还是我的代码错了?
我尝试使用与all_commands.GET_ELEMENT_A
一起使用的列表,但我认为最好使用Enum
类型
getter_commands = [all_commands.GET_ELEMENT_A,
all_commands.GET_ELEMENT_B,
all_commands.GET_ELEMENT_C,
all_commands.GET_ELEMENT_D]
感谢您的帮助!
答案 0 :(得分:0)
devtools::install_github("GillesSanMartin/clValid")
不能解决您的问题。您需要的是类似dendextend
之类的东西,它允许迭代,包含检查和属性访问。所以创建的东西是这样的:
Enum
并具有以下行为:
EnumSet
这样的对象看起来像:
getter_commands = EnumSet(
all_commands.GET_ELEMENT_A,
all_commands.GET_ELEMENT_B,
all_commands.GET_ELEMENT_C,
all_commands.GET_ELEMENT_D,
)