2

我有以下 Akka 演员代码:

class GenerateBoardActor extends Actor {
  import GenerateBoardActor._

  def receive = {
    case GenerateBoard(configuration: Seq[Configuration.PiecesConfigSpec]) => {
      sender ! Board(configuration: _*)
    }

    case generateBoard: GenerateBoard => {
      sender ! Board(generateBoard.configuration: _*)
    }
  }
}

object GenerateBoardActor {
  case class GenerateBoard(configuration: Configuration.PiecesConfigSpec*)
}

我认为这两个 case 子句应该是等价的,但只有第二个是匹配的。是否可以使用第一个子句的语法来匹配带有可变参数的案例类?或者第一个子句的正确语法是什么?

4

1 回答 1

5

正确的语法是:

case GenerateBoard(configuration @ _*) =>
于 2013-07-14T06:49:37.133 回答