Пользовательские сценарии оболочки XCode замедляют время компиляции

val l = List(5, 7,2, 3, 3, 3, 5, 5, 3, 3, 2, 2, 2)

def f(l: List[Int]): List[Int] = l match {
  case Nil => Nil
  case x :: y :: tail if x == y => f(y::tail)
  case x :: tail => x :: f(tail)
}

println(f(l)) //List(5, 7, 2, 3, 5, 3, 2)

Конечно, вы можете сделать хвост рекурсивным

29
задан Tom Kraina 8 November 2016 в 15:49
поделиться