Изучаю тут скалу и ФП. Так вот, решаю всякие простенькие задачки.
Дан список из списков целых чисел. Составить список из длин этих спи-сков. Например, если исходный список равен [[1, 3, 5], [4, 6], [1, 9, 8]], то в результате должен получится список [3, 2, 3]
import scala.annotation.tailrec
object HelloWorld {
def main(args: Array[String]) = {
@tailrec
def abc(list: List[List[Int]]): List[Int] = {
@tailrec
def cba(l: List[Int], acc: Int): Int = {
l match {
case Nil => acc
case l => cba(l.tail, acc + 1)
}
}
list match {
case Nil => Nil
case x => {
cba(list.head, 0) :: List[Int]()
abc(list.tail)
}
}
}
val list1 = List(List(1, 2, 3), List(1, 2, 3), List(1, 2, 3), List(1, 2, 3, 4, 5, 6), List(1, 2, 3, 4))
abc(list1) foreach println
}
}
Но в итоге выводится пустой список. В чем может быть проблема?