【发布时间】:2018-02-28 01:22:42
【问题描述】:
我想压缩两个列表并进行模式匹配,但似乎 zip 和 match 产生错误。我不明白为什么会出现这样的错误。
以下示例是简化版本。
这行得通
val l = List((1, 2), (3, 4), (5, 6))
l.map { case(a, b) => println(s"First is $a, second is $b") }
这不起作用
val l1 = List(1,2,3)
val l2 = List(4,5,6)
l1.zip(l2)
l1.zip(l2).map { case(a, b) => a match {case 1 => println(s"First is $a, second is $b") }}
错误信息
scala.MatchError: 2 (of class java.lang.Integer)
at .$anonfun$res15$1(<console>:14)
at .$anonfun$res15$1$adapted(<console>:14)
at scala.collection.immutable.List.map(List.scala:287)
... 28 elided
【问题讨论】:
标签: scala