6
Prenez ce code:Scala champ de conversion implicite émet
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
}
Je veux l'utiliser comme ceci:
val x = register.getZeroFlag + 10
mais je suis accueilli avec:
type mismatch; found : Boolean required: Int
ce qui se passe? Ai-je besoin de définir une fonction implicite prenant une fonction bool?
fantastique. Cela explique vraiment la portée. –
J'ai juste compris que le ._ sur l'objet est nécessaire pour importer les choses définies dans l'objet. Pensé que ce serait "implicite" (jeu de mots) – drame