如何将案例类与varargs相匹配?

时间:2013-07-14 06:29:45

标签: scala

我有以下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类和varargs?或者第一个子句的正确语法是什么?

1 个答案:

答案 0 :(得分:5)

正确的语法是:

case GenerateBoard(configuration @ _*) =>