我想知道如何将匹配和案例应用于我的act()方法。这是我的tempObject类
case class tempObject(typeOfData: Int) {}
这是我的演员:
object StorageActor extends Actor {
def act(TO: tempObject) = TO match {
case TO(0) => println("True")
case TO(1) => println("False")
}
}
所以,应该发生的是,当我将一个对象传递给act()时,它会调用所需的方法,具体取决于对象内部的值。以上代码是否正确执行我想要的内容?
答案 0 :(得分:5)
act
类上的Actor
方法不应该使用值调用。它从actor的邮箱中选择值并对其进行处理。正确的方法是:
case class TempObject(typeOfData: Int)
object StorageActor extends Actor {
def act() {
loop {
react {
case TempObject(0) => println("True")
case TempObject(1) => println("False")
}
}
}
}
StorageActor.start
StorageActor ! TempObject(0)
StorageActor ! TempObject(1)