La función List.ReplaceRange devuelve una lista tras reemplazar un cierto número de valores a partir de una posición.
List.ReplaceRange(
list as list,
index as number,
count as number,
replaceWith as list
) as list
- list: lista en la que realizar el reemplazo
- index: índice a partir del cual reemplazar los valores
- count: número de valores a reemplazar
- replaceWith: valores que van a sustituir a los originales
La función elimina los elementos indicados de la lista original (count elementos a partir de la posición index) e inserta la lista replaceWith en dicho índice. Esto significa que la nueva lista no necesita tener la misma longitud que los elementos eliminados.
Podemos sustituir los dos valores situados a partir del índice 3 de la lista {1..7} por los elementos "a" y "b" con la siguiente expresión:
List.ReplaceRange(
{1..7},
3,
2,
{"a", "b"}
)
List
Un clic en el enlace List nos muestra la lista devuelta:
Si la lista conteniendo los nuevos elementos tiene una longitud, por ejemplo, menor que el número de elementos a sustituir, simplemente se eliminan estos últimos y se añade la nueva lista en la posición indicada. En el siguiente ejemplo partimos de la lista {1..7}, eliminamos dos elementos a partir de la posición 3 (es decir, eliminamos los elementos 4 y 5) e insertamos en dicha posición apenas un elemento: la letra "a":
List.ReplaceRange(
{1..7},
3,
2,
{"a"}
)
List
La lista resultante es la siguiente:
Comprobamos que el elemento 5 no ha sido reemplazado por ningún otro.