2015-05-11 19 views
1

我發現了一個約DynamicVariable問題:在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分配的值,有沒有人有這方面的想法?

回答

1

這是一個最小的片段:

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

的輸出將是:

withoutValue 
withValue 
withoutValue