2010-11-18 10 views
24

Tengo problemas para hacer funcionar este elenco.¿Cómo se escribe el molde Char/Int en Scala?

El compilador me dice que valoro aNumber no es un miembro del objeto Char

def runCastTest() { 
    val aNumber = 97 
    val aChar = (Char)aNumber 

    println(aChar) // Should be 'a' 
} 

¿Qué estoy haciendo mal?

Respuesta

34

No está emitiendo. Con (Char)aNumber usted está tratando de invocar un método aNumber en el Char objeto:

scala> val aNumber = 97 
aNumber: Int = 97 

scala> val aChar = (Char)aNumber 
<console>:5: error: value aNumber is not a member of object Char 
     val aChar = (Char)aNumber 
         ^

Usted puede hacer

scala> aNumber.asInstanceOf[Char] 
res0: Char = a 

o como Nicolas sugerido llamada toChar en la instancia Int:

scala> aNumber.toChar 
res1: Char = a 
17

Como todo es un objeto en scala, debe usar aNumber.toChar.

+6

Su la explicación es engañosa. Uno podría pensar que toChar está definido en cualquier objeto en Scala. – NightRa

Cuestiones relacionadas