Scala Range por muito tempo
Eu sou novo no idioma Scala.
Eu preciso do Range for Long type.
Eu preciso de uma lista de [1, 2, 3 ... 10000000] com o passo 1. Se eu usar até / to eu recebo um erro por causa do uso de Long em vez de Int.
Eu tento escrever uma função simples que espera um começo, um fim e uma lista vazia e gera uma lista de [início ... fim].
Aqui está minha função:
<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>
Se eu chamo assim:range_l(1L, 1000000L, List())
eu receboOutOfMemory
erro na seguinte linha:add_to_list = start :: list
O que você pode me aconselhar? Como posso obterRange[Long]
ou como posso otimizar a função. Como posso evitar o OutOfMemory?
Obrigado.