我有下面的口罩
class FLAG(IntEnum):
DEFAULT = 0b0
以及一个与之相关的课程:
class Converter:
def has_flag(self, val):
return self._descriptor & val == val
我发现has_flag
方法包含一个bug,因为其他每个标志都包含一个DEFAULT
标志。最好的解决方法是什么?
flag
是互斥的。你知道吗
我找到了以下解决方案:
def has_flag(self, val):
if val == FLAG.DEFAULT:
return self._descriptor == val
return self._descriptor & val == val
有没有其他方法来修复这个错误?你知道吗
因为默认的0不是一个真正的标志(它是没有标志),所以应该区别对待;您提出的方法是完全合理的。你知道吗
请注意,也不能设置默认的\u ZERO标志,因为它不是标志。你知道吗
相关问题 更多 >
编程相关推荐