package kapitel_03 /** * Beispiel aus * * - Algorithmen und Datenstrukturen für Dummies * - von Andreas Gogol-Döring und Thomas Letschert * - Verlag Wiley-VCH; Oktober 2019 * - Kapitel 3, Daten und ihre Struktur * * @author A. Gogol-Döring, Th. Letschert */ object AuD_03_10_Traversing_App extends App { val Add = (x: Int, y: Int) => x + y def TraverseWith(lst: List[Int], f: (Int, Int) => Int, start: Int): Int = lst match { case Nil => start case head :: rest => f(head, TraverseWith(rest, f, start)) } def ListSum(lst: List[Int]): Int = TraverseWith(lst, Add, 0) val lst = List(1,2,3,4,5) println(ListSum(lst)) }