Scala有没有内省能力与Python的dir()类似?
发布时间:2020-12-16 09:33:12 所属栏目:安全 来源:网络整理
导读:是的,我知道非Pythonistas被认为是懒惰的。我问的原因是文档在许多Scala库中仍然是非常缺乏的(例如Scala-dbc,但这并不是我所看到的),如果我可以在运行时看到对象/类的属性,我可以最少弄清楚可用的。谢谢。 解决方法 Scala没有反射API。访问此信息的唯一
是的,我知道非Pythonistas被认为是懒惰的。我问的原因是文档在许多Scala库中仍然是非常缺乏的(例如Scala-dbc,但这并不是我所看到的),如果我可以在运行时看到对象/类的属性,我可以最少弄清楚可用的。谢谢。
解决方法
Scala没有反射API。访问此信息的唯一方法是使用
Java reflection API.这样做的缺点是,结构可能会随着Java类中的Scala方式的改变而改变,接口在将来可能会发生变化。
scala> classOf[AnyRef].getMethods res0: Array[java.lang.reflect.Method] = Array(public final void ... 可以使用ScalaSigParser访问字节码中存在的一些特定类型的信息。 import tools.scalap.scalax.rules.scalasig._ import scala.runtime._ val scalaSig = ScalaSigParser.parse(classOf[RichDouble]) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |