Quiero definir algunas anotaciones y usarlas en Scala.Cómo crear anotaciones y obtenerlas en scala
Miré en la fuente de la Scala, que se encuentra en scala.annotation
paquete, hay algunas anotaciones como tailrec
, switch
, elidable
, y así sucesivamente. Así que he definido algunas anotaciones que los cumplan
class A extends StaticAnnotation
@A
class X {
@A
def aa() {}
}
Entonces escribo una prueba:
object Main {
def main(args: Array[String]) {
val x = new X
println(x.getClass.getAnnotations.length)
x.getClass.getAnnotations map { println }
}
}
Imprime algunos mensajes extraños:
1
@scala.reflect.ScalaSignature(bytes=u1" !1* 1!AbCaE
9"a!Q!! 1gn!!.<b iBPE*,7
Ii#)1oY1mC&1'G.Y(cUGCa#=S:LGO/AA!A 1mI!)
Parece que no puedo conseguir la anotación aaa.A
.
¿Cómo puedo crear anotaciones en Scala correctamente? ¿Y cómo usarlos y obtenerlos?
¿Puede dar los números de capítulos/página en el libro? – Jus12