repeat
Emite el mismo valor n veces — una fuente perezosa y finita para rellenar y emparejar.
Lección
repeat(n, value) emite value exactamente
n veces y se detiene: es finito y perezoso, como el resto de
generadores de esta sección. Ten en cuenta que repite el mismo
valor (o la misma referencia de objeto, si no es un primitivo) cada vez; si
necesitas un valor nuevo en cada iteración, genéralo aparte (por ejemplo,
con un map sobre el resultado) en lugar de esperar que
repeat llame a una función de fábrica.
Resulta más útil combinado con otra cosa: aplícale zip con una
secuencia de longitud variable para estampar una etiqueta constante en cada
elemento, o usa fx(...).join() para construir una cadena
separadora de ancho fijo. repeat(0, value) es una forma válida
y perfectamente normal de obtener un iterable vacío.
Si lo que quieres es repetir una secuencia entera en vez de un
único valor —y seguir indefinidamente en lugar de un número fijo
n de veces— eso es cycle, que veremos a
continuación.
Demo 1 · Fundamentos
Demo 2 · Emparejar una constante con una secuencia variable
repeat emite el MISMO valor cada vez: combínalo con
zip para estampar una constante sobre una secuencia de
longitud variable:
Pruébalo tú
Ejercicio: construye una List<int> de 5 elementos con
el valor 7 usando repeat.