В следующем коде я получаю сообщение об ошибке
Error:(48, 11) type mismatch;
found : (Int, Map[Int,Option[List[Int]]])
required: (Int, Nothing)
f
def tuplesWithRestrictions1(): (Int, Map[Int, Option[List[Int]]]) = {
val df = new DecimalFormat("#")
df.setMaximumFractionDigits(0)
val result = ((0 until 1000) foldLeft ((0, Map.empty(Int, Some(List.empty[Int]))))) {
(r: (Int, Map[Int, Option[List[Int]]]), x: Int) => {
val str = df.format(x).toCharArray
if (str.contains('7')) {
import scala.math._
val v = floor(log(x)) - 1
val v1 = (pow(10, v)).toInt
val m = (r._2).get(v1) {
case None => r._2 + (v1 -> List(x))
case Some(xs: List[Int]) => r._2 updated(x, xs :+ x)
}
val f = (r._1 + 1, m)
f
} else r
}
}
result
}
Почему компилятор ничего не выводит, хотя я явно указываю, что результат (Int, Map [Int, Option [List [Int])]]) тип ?и как исправить эту проблему.