val x = for(i <- 1 to 3) yield i
x match {
case 1 :: rest => ... // compile error
}
构造函数无法实例化为预期类型;找到:collection.immutable.::[B] 需要:scala.collection.immutable.IndexedSeq[Int]
当 match 收到 IndexedSeq 但不是 LinearSeq 时,这与MatchError 相同。
问题是,如何正确地做到这一点?到处添加.toList
似乎不对。如果每个人都这样做,那么创建一个自己的提取器来处理每个Seq
(如另一个问题的答案中所述)会导致一团糟......
我想问题是,为什么我不能影响序列理解的返回类型是什么,或者:为什么Seq
标准库中没有这样一个通用提取器的一部分?