Scala DynamicVariable初始化

时间:2017-04-13 18:53:06

标签: scala types

我是scala的新手,并努力解决一些代码问题。在下面的代码中,Signal [_]的含义是什么意思?它与Signal [T]类型有什么不同?

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

由于

1 个答案:

答案 0 :(得分:1)

这里是great summary of all the uses of underscore

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

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

...有关键和值的特定类型的信息将丢失。您可以调用此地图的大小方法,但不能使用任何引用方法签名中的键或值类型的方法。