在scala中,有一种很好的方法可以告诉运行时访问了哪些变量

时间:2017-11-04 18:46:11

标签: scala reflection runtime

我正在运行一个巨大的scala程序,但我只对它的一小部分感兴趣。我现在想要使用已知值的原始变量。

例如, lazy val func =(x:String,y:Int)=> println(s“你好$ x,你是$ y year(s)old”)

(代码中的某处,函数被调用。但此时“名称”和“年龄”尚未知晓。将不会评估函数(名称,年龄)。

在运行时的某个时刻,“name”和“age”最终会得到一个值,比如说“John”和“16”。然后将func(姓名,年龄)评估为“Hello John,你年满16岁”。我想深入了解已经访问了哪些原始类型变量,最终得到了func(x,y)。 (好吧,String可能不是完全原始的类型。但你明白了)

虽然代码覆盖工具可能有一些帮助,但它不会给我我想要的东西。我知道我可能必须使用运行时反射来实现我的目标,但不知道具体如何。任何帮助将不胜感激。

0 个答案:

没有答案