我想定义一些注解并在Scala中使用它们。如何创建注解并将它们放入scala中
我看着斯卡拉的来源,scala.annotation
包中发现,有喜欢tailrec
,switch
,elidable
,等等一些注释。所以我定义了一些注解为他们做:
class A extends StaticAnnotation
@A
class X {
@A
def aa() {}
}
然后我写了一个测试:
object Main {
def main(args: Array[String]) {
val x = new X
println(x.getClass.getAnnotations.length)
x.getClass.getAnnotations map { println }
}
}
它打印出一些奇怪的信息:
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!)
我似乎不能得到的注解aaa.A
。
如何正确创建Scala中的注释?以及如何使用并获得它们?
你能提供书中的章节/页码? – Jus12 2011-10-04 07:32:11