java - 在scala中,如何提取DynamicVariable中的值?

标签 java scala

我发现了一个有关 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分配的值,有人对此有想法吗?

最佳答案

这是一个最小的片段:

val dyn = new DynamicVariable[String]("withoutValue")
def print=println(dyn.value)
print
dyn.withValue("withValue") {
  print
}
print

输出将是:

withoutValue
withValue
withoutValue

关于java - 在scala中,如何提取DynamicVariable中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30164846/

相关文章:

java - 如何在 testNG 类中使用 completableFuture

scala - Spark : increase the size of an RDD using sample with replacement

scala - sbt 不解析类型安全存储库

scala - 将未知长度的元组转换为 Scala 中的列表

java - 类型转换通用

java - 如何从结构上修改 JsonObject 并替换其某些值?

java - 使用 Java 将文本动态添加到 JTextArea

java导入子目录

database - H2 内存数据库,[JdbcSQLException : Table "USERINFO" not found; SQL statement:

scala - 类型不匹配;找到 : Int(1) required: B