Como criar uma lista com o mesmo elemento n vezes?
Implementação manual:
scala> def times(n: Int, s: String) =
| (for(i <- 1 to n) yield s).toList
times: (n: Int, s: String)List[String]
scala> times(3, "foo")
res4: List[String] = List(foo, foo, foo)
Existe também uma maneira integrada de fazer o mesmo?
Usando
tabulate
assim,fonte
Funciona como um encanto.
fonte
_
não importa. Você poderia fazern to 1 by -1
,-1 to -n by -1
etc.fill
implementação do método constrói internamente uma variável temporária cujo valor não importaria, contanto que produza a quantidade certa na lista. Portanto, não me importo com o não utilizado_
.Eu tenho outra resposta que emula flatMap, eu acho (descobri que esta solução retorna Unit ao aplicar duplicateN)
}
mas isso é para uma lista predeterminada e você deseja duplicar n vezes cada elemento
fonte