开发者

Actors case class simple example

I'm almost certainly doing something profoundly stupid which makes this actor not work properly, but I can't see it after a chunk of time staring at it. So I thought I'd ask SO.

I can't get this code to work - in that, if I send it messages such as 4 (which should trigger the default case), nothing is printed, and I can't trip the monitor by sending it a temperature alarm.

What am I doing wrong?

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

  def act() {
    while (true) {
      receive {
  开发者_如何学Python      case Heartbeat => 0
        case TemperatureAlarm(temp) =>
          tripped = true
          tripTemp = temp
        case _ => println("No match")
      }
    }
  }
}


Since you don't show how you create the actor we can only guess. The first thing I would check is that you've started the actor:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜