Классы регистра, сопоставление с образцом и varargs

Допустим, у меня есть такая иерархия классов:

abstract class Expr
case class Var(name: String) extends Expr
case class ExpList(listExp: List[Expr]) extends Expr

Было бы лучше определить конструктор ExpList вот так:

case class ExpList(listExp: Expr*) extends Expr

Я хотел бы знать, каковы недостатки / преимущества каждого определения в отношении сопоставления с образцом?

10
задан PrimosK 10 June 2012 в 22:12
поделиться