演员案例类简单示例

kit*_*yst 1 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")
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

The*_*heo 5

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

val monitor = new TemperatureMonitor
monitor.start
monitor ! 4 // should trigger the default case, as you say
Run Code Online (Sandbox Code Playgroud)