Próbuję to rozgryźć przez ostatnie kilka godzin bez powodzenia, jak zawsze.Zwraca sumę podlist na liście
Powiedzmy mam listę list int
let list = [[1;3;4;4];[1;3]]
muszę utworzyć funkcję, która będzie sumować listy zagnieżdżone i powrotu jednej listy, jak poniżej:
[12;4]
I byli powiedział, że powinienem użyć List.fold.
Próbowałem następujące:
let list = [2;3;5]
let sumList list = List.fold (fun acc elem -> acc + elem) 0 list
sumList list
ten wraca tylko int i działa tylko na liście int a nie na liście listy. Jakie są następne kroki stąd.
List.map to następna podpowiedź –
Przepraszam, jeśli jestem głupi. Jestem bardzo nowy w programowaniu funkcjonalnym. Przyjrzałem się dokumentacji dla List.map i zrozumiałem, że stosuje ona daną funkcję do każdego elementu. Próbowałem to zrobić: 'niech lista sumLists = List.map (fun x -> List.fold (zabawa acc elem -> acc + elem) 0 lista)' która nie jest oczywiście praca –
Najpierw napisać funkcja następnie sumuje listę. Następnie napisz nową funkcję z list.map –