Scala 如何设置和检查是否设置了特定位?
我有一个这样的物体:Scala 如何设置和检查是否设置了特定位?,scala,Scala,我有一个这样的物体: object PermissionMask { val canLogin = 1 val canAbc = 2 val canDef = 4 val canGhi = 8 } 我有一个INT类型的属性,它将保存权限值 如何检查权限是否已设置 def canLogin: Boolean = permissions & PermissionMask.canLog == ??? 我如何才能将所有权限设置在一起 per
object PermissionMask {
val canLogin = 1
val canAbc = 2
val canDef = 4
val canGhi = 8
}
我有一个INT类型的属性,它将保存权限值
如何检查权限是否已设置
def canLogin: Boolean =
permissions & PermissionMask.canLog == ???
我如何才能将所有权限设置在一起
permissions = PermissionMask.canLogin | PermissionMask.canAbc
要检查
canLogin
,只需将结果与零进行比较-如果用户可以登录,结果将为正:
def canLogin: Boolean = (permissions & PermissionMask.canLogin) > 0
要创建“所有权限”值-是的,您正确启动了它:
val permissions = PermissionMask.canAbc |
PermissionMask.canAbc |
PermissionMask.canDef |
PermissionMask.canGhi
要检查
canLogin
,只需将结果与零进行比较-如果用户可以登录,结果将为正:
def canLogin: Boolean = (permissions & PermissionMask.canLogin) > 0
要创建“所有权限”值-是的,您正确启动了它:
val permissions = PermissionMask.canAbc |
PermissionMask.canAbc |
PermissionMask.canDef |
PermissionMask.canGhi