Comment créer une liste avec le même élément n fois?
Mise en œuvre manuelle:
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-t-il également un moyen intégré de faire de même?
En utilisant
tabulate
comme ça,la source
Fonctionne comme un charme.
la source
_
n'a pas vraiment d'importance. Vous pourriez fairen to 1 by -1
,-1 to -n by -1
etc.fill
implémentation de la méthode construit une variable temporaire en interne dont la valeur n'aurait pas d'importance tant qu'elle produit le bon montant dans la liste. Donc ça ne me dérange pas les inutilisés_
.J'ai une autre réponse qui émule flatMap je pense (j'ai découvert que cette solution renvoie Unit lors de l'application de duplicateN)
}
mais c'est plutôt pour une liste prédéterminée et vous voulez dupliquer n fois chaque élément
la source