Я решаю задачу 20 на этой странице - http://aperiodic.net/phil/scala/s-99/
Это код, который я написал
import scala.annotation.tailrec
import scala.collection.immutable.Nil
import scala.collection.immutable.ListSet
object Problem20 extends App {
def removeAt[A](order: Int, xs: List[A]): (List[A], A) = {
def removeAtRec(xs: List[A], acc: (List[A], A), i: Int): (List[A], A) =
(xs, i) match {
case (Nil, _) => (acc._1.reverse, acc._2)
case (x :: xs_, i) if i == order => removeAtRec(xs_, (acc._1, x), i + 1)
case (x :: xs_, i) => removeAtRec(xs_, (x :: acc._1, acc._2), i + 1)
}
removeAtRec((xs, (Nil, ### What should I put here ###), 0)
}
println(removeAt(3, List('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j, 'k)))
println(removeAt(0, List('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j, 'k)))
println(removeAt(10, List('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j, 'k)))
println(removeAt(11, List('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j, 'k)))
println(removeAt(12, List('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j, 'k)))
}
Я хочу отправить объект в качестве заполнителя ### What should I put here ###
. В Python, Java я могу отправить ноль. Но в scala оно ломается. Я хочу отправить какой-то объект, который, я знаю, будет переопределен наверняка.