我发现了一个关于DynamicVariable的问题:
When we should use scala.util.DynamicVariable?
然后我尝试使用DynamicVariable
object m {
class W {
def wrapper[T](f: => T) = W.dyn.withValue("Bye")(f)
}
object W {
private val dyn = new DynamicVariable[String]("Hello")
}
def main() = {
val w = new W()
w.wrapper {
println(1)
}
}
}
m.main()
它编译成功,但我对如何提取DynamicVariable
指定的值没有任何想法,有没有人对此有所了解?
答案 0 :(得分:1)
这是一个最小的片段:
val dyn = new DynamicVariable[String]("withoutValue")
def print=println(dyn.value)
print
dyn.withValue("withValue") {
print
}
print
输出将是:
withoutValue
withValue
withoutValue