object Test {
def f1(x: Any) = x match {
case Seq(1, 2, 3) => "s3"
case Seq(4, 5) => "s2"
case Seq(7) => "s1"
case Nil => "s0"
case Seq(_, _, _, _, _, x: String) => "ss6"
case _ => "d"
}
def f2(x: Any) = x match {
case Seq("a", "b", _*) => "s2"
case Seq(1, _*) => "s1"
case Seq(5, 6, 7, _*) => "s3"
case _ => "d"
}
def main(args: Array[String]): Unit = {
val xs1 = List(
List(1,2,3),
List(4,5),
Vector(7),
Seq(),
Seq(1, 2, 3, 4, 5, "abcd"),
"abc"
) map f1
xs1 foreach println
val xs2 = List(
Seq(5, 6, 7),
Seq(5, 6, 7, 8, 9),
Seq("a"),
Seq(1, 6, 7),
List(5, 6, 7),
Nil,
5
) map f2
xs2 foreach println
}
}