Ниже функция извлекает 'N' количество элементов из данного списка. Работает как положено. Но я не могу понять, почему ввод функции "[List [A]]" должен быть задан функции foldRight во время ее вызова. "items" уже объявлена с этим типом, и для него вызывается foldRight. Так что это не нужно. Но без него получается синтаксическая ошибка.
Подскажите, пожалуйста, почему ввод обязателен.
def first[A](items: List[A], count: Int): List[A] = {
items.foldLeft[List[A]](Nil) { (a: List[A], i: A) =>
if (a.size >= count) a else i :: a
}.reverse
}