Как я могу преобразовать эту базовую функцию func2 в сгиб слева в Scala?
Вот итерационный подход.Я использую две функции.
def func1(list1: List[foo], item: bar): List[foo] = {
does something to the list and returns it
}
def func2(list1: List[bar]): List[foo] = {
var newList = List[foo]() // starts with an empty list
for (item <- list1){ //cycle through list
newList = func1(newList, item)
}
return newList;
}
Я хочу перебирать элементы списка по элементам.Запустите его через функцию для каждого элемента и установите результат этой функции в список.
Затем продолжайте работу через функцию и используйте новый список (аккумулятор) в качестве списка. Я использую вызов функции следующей итерации.
Я попытался сделать это:
def func2(list1: List[bar]): List[foo] = {
var newList = list1.foldLeft( (List[foo]() )(list1) => {return func1(_,_) } );
Но это не сработало.Я знаю, что я близко, но синтаксис неправильный.Любая помощь с благодарностью.