import scala.annotation.tailrec object Rekursionen extends Application { //wird nicht kompiliert, weil nicht endrekursiv //@tailrec def summe(list: List[Int]): Int = { if (list.isEmpty) 0 else list.head + summe(list.tail) } def sum(list: List[Int]) = { @tailrec def sumHelper(x: Int, list: List[Int]): Int = { if(list.isEmpty) x else sumHelper(x + list.head, list.tail) } sumHelper(0,list) } println(summe(List(1,2,3,4))) println(sum(List(1,2,3,4))) }