Scala DynamicVariable初始化
问题描述:
我是scala的新手,努力想要展示一些代码。在下面的代码中,Signal [_]是什么意思?它与Signal [T]类型有什么不同?Scala DynamicVariable初始化
class Signal[T](expr: => T) {.......}
object NoSignal extends Signal[Nothing](???) {
override def computeValue() =()
}
object Signal {
val caller = new DynamicVariable[Signal[_]](NoSignal)
def apply[T](expr: => T) = new Signal(expr)
}
感谢
答
这里有一个great summary of all the uses of underscore。
在这种情况下,我认为它表示existential type或通配符(“不关心”或“meh ...”类型)。
val m:Map[_,_] = Map[String,Integer]()
...有关密钥和值的具体类型的信息丢失。您可以调用此映射的大小方法,但不能使用引用方法签名中的键或值类型的任何方法。
+0
谢谢,这些例子真的有帮助 –
这篇关于更高感染类型的文章帮助我理解了我自己的问题。 http://*.com/questions/6246719/what-is-a-higher-kinded-type-in-scala –