У меня есть следующий код:
object foo{
def splitSeq[Int](in: List[Int], out: List[(Int,Int)] = Nil): List[(Int,Int)] = (in,out) match {
case (Nil,o) => o
case (next :: rest, Nil) =>
splitSeq(rest, List((next,next)))
case (next :: rest, (start, end) :: accRest) if (end + 1 == next) =>
splitSeq(rest, (start, next) :: accRest)
case (next :: rest, acc) =>
splitSeq(rest, (next,next) :: acc)
}
}
И он выдает следующую ошибку компилятора, которую я полностью не понимаю:
~/tmp> scalac test.scala
test.scala:6: error: type mismatch;
found : Int(1)
required: String
case (next :: rest, (start, end) :: accRest) if (end + 1 == next) =>
^
one error found