Wie erstelle ich n-mal eine Liste mit demselben Element?
Manuelle Implementierung:
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)
Gibt es auch eine eingebaute Möglichkeit, dasselbe zu tun?
Verwenden Sie
tabulate
so,quelle
Klappt wunderbar.
quelle
_
eigentlich keine Rolle spielt. Sie könnten tunn to 1 by -1
,-1 to -n by -1
etc.fill
Implementierung der Methode erstellt intern eine temporäre Variable, deren Wert keine Rolle spielt, solange die richtige Menge in der Liste erzeugt wird. Das Unbenutzte macht mir also nichts aus_
.Ich habe eine andere Antwort, die meiner Meinung nach flatMap emuliert (ich habe herausgefunden, dass diese Lösung Unit zurückgibt, wenn duplicateN angewendet wird).
}}
Dies ist jedoch eher für eine vorgegebene Liste und Sie möchten jedes Element n-mal duplizieren
quelle