将案例应用于scala中的act()

the*_*cer 1 scala

我想知道如何将匹配和案例应用于我的act()方法.这是我的tempObject类

case class tempObject(typeOfData: Int) {} 
Run Code Online (Sandbox Code Playgroud)

这是我的演员:

object StorageActor extends Actor {

  def act(TO: tempObject) = TO match {

    case TO(0) => println("True")
    case TO(1) => println("False")

  }
}
Run Code Online (Sandbox Code Playgroud)

因此,应该发生的是,当我将一个对象传递给act()时,它会调用所需的方法,具体取决于对象内部的值.以上代码是否正确执行我想要的?

Abh*_*kar 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)
Run Code Online (Sandbox Code Playgroud)