在Scala 2.10.6中,与
不匹配的对象之间的区别是什么case Array((_, workItem: WorkItem)) =>
但会匹配
case things: Array[_] => things.foreach { case (_, workItem: WorkItem) =>
我看到这种情况发生了。有些对象与第一个对象匹配,其他对象与第一个对象不匹配,但与第二个对象匹配。如果没有第二种形式,则抛出MatchError:
scala.MatchError: [Lscala.Tuple2;@43d82d2a (of class [Lscala.Tuple2;)
答案 0 :(得分:3)
第一个是将Array[(_, WorkiItem)]
与一个元素匹配,第二个匹配任何Array
,如果所有元素都是foreach
,则不会在(_, WorkItem)
中抛出MatchError