1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
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
}
}
|