scala似乎是JVM世界的一个很好的补充.它让我想起了嵌套在JVM世界中的C++,C#和Swift的奇怪混合体.
但是,由于缺少或过时的文档,许多scala的功能可能无法访问.
就其反射能力而言,这似乎尤其如此.
例如,我正在评估是否可以使用scala注释在运行时或编译时扩充scala类.我使用的是最新的scala版本2.11.作为一个激励性的例子,让我说我做了一个case class SimpleAnnotation() extends StaticAnnotation
.我想在运行时case class
使用该注释查找所有es.
这可能是注释中最典型和最简单的用例.
在C#和Java中,在运行时确定给定的类是否被注释是相对简单的.这是一个规范的用例,带有规范的答案.然而,在scala中,我不清楚我应该做些什么来实现这种行为,甚至是否可能.特别是,在扫描了scala注释和反射之前的一些材料之后,我想知道:
getClass[AnnotatedClass].getAnnotations
返回这些看似乱码的信息?任何指导都表示赞赏......我确信我不是唯一一个感到困惑的人.