我有两个位掩码集合,一个集合有要合并的权限,另一个集合有要删除的位掩码。
对于添加剂,我只是'或'他们喜欢:

permissions = 0
add_masks.each do |x|
 permissions |= permissions
end

如何使用其他集合移除权限?
remove_masks.each do |x|
    ???
end

最佳答案

您需要使用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

关于ruby - ruby 位敲打,如何执行加法和负数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5240857/

10-11 15:43