演员案例类简单示例

时间:2011-07-03 17:50:14

标签: scala actor

我几乎肯定做了一些非常愚蠢的事情,这使得这个演员不能正常工作,但是经过一段时间的盯着它后我看不到它。所以我想我会问。

我无法使用此代码 - 因为,如果我发送消息如4(应触发默认情况),则不会打印任何内容,并且我无法通过发送温度来绊倒显示器报警。

我做错了什么?

class TemperatureMonitor extends Actor {
  var tripped : Boolean = false
  var tripTemp : Double = 0.0

  def act() {
    while (true) {
      receive {
        case Heartbeat => 0
        case TemperatureAlarm(temp) =>
          tripped = true
          tripTemp = temp
        case _ => println("No match")
      }
    }
  }
}

1 个答案:

答案 0 :(得分:5)

由于您没有展示如何创建演员,我们只能猜测。我要检查的第一件事是你已经开始扮演演员了:

val monitor = new TemperatureMonitor
monitor.start
monitor ! 4 // should trigger the default case, as you say