varias - repetir string n veces java
Repita eficientemente un carácter/cadena n veces en Scala (1)
Para cadenas, puede escribir
"abc" * 3
, que funciona a través de
StringOps
y utiliza un
StringBuffer
detrás de escena.
Para los personajes, creo que su solución es bastante razonable, aunque
char.toString * n
es posiblemente más clara.
¿Tiene alguna razón para sospechar que la versión
List.fill
no es lo suficientemente eficiente para sus necesidades?
Podría escribir su propio método que usaría un
StringBuffer
(similar a
*
en
StringOps
), pero sugeriría apuntar primero a la claridad y luego preocuparse por la eficiencia solo cuando tenga evidencia concreta de que ese es un problema en su programa.
Me gustaría hacer lo siguiente de manera más eficiente:
def repeatChar(char:Char, n: Int) = List.fill(n)(char).mkString
def repeatString(char:String, n: Int) = List.fill(n)(char).mkString
repeatChar(''a'',3) // res0: String = aaa
repeatString("abc",3) // res0: String = abcabcabc