拿这个代码:
class Register(var value:Int = 0) {
def getZeroFlag() : Boolean = (value & 0x80) != 0
}
object Register {
implicit def reg2int(r:Register):Int = r.value
implicit def bool2int(b:Boolean):Int = if (b) 1 else 0
}
Run Code Online (Sandbox Code Playgroud)
我想这样使用它:
val x = register.getZeroFlag + 10
Run Code Online (Sandbox Code Playgroud)
但我受到了欢迎:
type mismatch; found : Boolean required: Int
Run Code Online (Sandbox Code Playgroud)
怎么了?我是否需要定义一个隐式的函数返回一个bool?