Bla*_*man 2 ruby bit-manipulation
我有2个位掩码集合,1个具有我想要组合的权限,而另一个集合具有我想要删除的位掩码.
对于添加剂,我只是'或'他们喜欢:
permissions = 0
add_masks.each do |x|
permissions |= permissions
end
Run Code Online (Sandbox Code Playgroud)
如何使用其他集合删除权限?
remove_masks.each do |x|
???
end
Run Code Online (Sandbox Code Playgroud)
你会想要使用permissions &= ~mask:
irb > permissions = 0
# => 0
irb > permissions |= 512
# => 512
irb > permissions |= 256
# => 768
irb > permissions &= ~1
# => 768
irb > permissions &= ~256
# => 512
irb > permissions &= ~512
# => 0
Run Code Online (Sandbox Code Playgroud)