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) 
} 

感谢

+0

这篇关于更高感染类型的文章帮助我理解了我自己的问题。 http://*.com/questions/6246719/what-is-a-higher-kinded-type-in​​-scala –

这里有一个great summary of all the uses of underscore

在这种情况下,我认为它表示existential type或通配符(“不关心”或“meh ...”类型)。

val m:Map[_,_] = Map[String,Integer]() 

...有关密钥和值的具体类型的信息丢失。您可以调用此映射的大小方法,但不能使用引用方法签名中的键或值类型的任何方法。

+0

谢谢,这些例子真的有帮助 –