Scala Range für lange
Ich bin neu in der Scala-Sprache.
Ich brauche Range für Long Type.
Ich benötige eine Liste von [1, 2, 3 ... 10000000] mit Schritt 1. Wenn ich bis / benutze, wird ein Fehler angezeigt, weil Long anstelle von Int verwendet wird.
Ich versuche, eine einfache Funktion zu schreiben, die einen Anfang, ein Ende und eine leere Liste erwartet und eine Liste von [start .. end] erzeugt.
Hier ist meine Funktion:
<code>def range_l(start : Long, end : Long, list : List[Long]) : List[Long] = { if (start == end){ val add_to_list = start :: list return add_to_list } else { val add_to_list = start :: list range_l(start + 1, end, add_to_list) } } </code>
Wenn ich es so nenne:range_l(1L, 1000000L, List())
Ich bekommeOutOfMemory
Fehler in der folgenden Zeile:add_to_list = start :: list
Was kannst du mir raten? Wie bekomme ichRange[Long]
oder wie kann ich die funktion optimieren. Wie kann ich OutOfMemory vermeiden?
Vielen Dank.