2013-07-14 32 views
2

我有以下阿卡演员代码:如何将案例类与可变参数相匹配?

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*) 
} 

我想这两个条款的情况下应该是等价的,但只有第二个是能比得上。是否可以使用第一个子句的语法来匹配案例类和可变参数?或者第一个子句的正确语法是什么?

回答

5

正确的语法是:

case GenerateBoard(configuration @ _*) =>