我想创建一个位,其中包含给定用户的安全权限。
在 C# 中,我会通过创建一个枚举来完成此操作,然后我会对二进制值进行一些操作,通过与 '&&' 来查看它是否会产生 TRUE 值。
我怎样才能在 Ruby 中做到最好?
如果底层值很重要,那么您可以创建一个像枚举一样使用的模块
module Groups
ADMIN = 1
BOSS = 2
CLERK = 4
MEAT = 8
BREAD = 16
CHEESE = 32
end
仅按位设置权限or
他们在一起
permissions = Groups::BOSS | Groups::MEAT | Groups::CHEESE
并测试你做按位and
>> permissions & Groups::CHEESE > 0
=> true
>> permissions & Groups::BREAD > 0
=> false
我也喜欢如何使实际的位掩码更具可读性_
像这样
permissions = 0b0010_1010
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)