Здравстсвуйте ! функции для Scala дан List[A]
функции, которые нужно написать:
1. map(xs: List[A], f: A => B): List[B]
2. inits(xs: List[A]): List[List[A]]
(что делает: inits([1,2,3]) == [[], [1], [1,2], [1,2,3]])
3. scan(xs: List[A], z: A, f: A => A): List[A]
scan одновременно вычисляет и накапливает промежуточные результаты:
scan([1,2,3], 0, _ + _) == [0,1,3,6] (partial sums)
4. minMax(xs: List[A], compare: (A, A) => Compared): (A, A)
даю составляющие листа, если нужно что-то добавить . возможно первая функция написана, вот как-то примерно так:
enum List[+A]:
case Cons(c: List[A], t: A)
case Nil
def map[A, B](xs: List[A], f: A => B): List[B] = {
xs match{
case List.Cons(c, t) => List.Cons(map(c, f), f(t))
case List.Nil => List.Nil
}
}
не проходим мы информатику