List.Generate
Genera un elenco di valori.
Syntax
List.Generate(
initial as function,
condition as function,
next as function,
optional selector as function
) as list
Remarks
Genera un elenco di valori usando le funzioni fornite. La funzione initial genera un valore candidato iniziale, che viene quindi testato su condition. Se il valore candidato viene approvato, viene restituito come parte dell'elenco risultante, e il successivo valore candidato viene generato passando il valore appena approvato a next. Quando un valore candidato non corrisponde condition, il processo di generazione dell'elenco si arresta. È anche possibile specificare un parametro facoltativo, selector, per trasformare gli elementi nell'elenco risultante.
Examples
Example #1
Crea un elenco iniziando da dieci, decrementando ripetutamente di uno e assicurandoti che ogni elemento sia maggiore di zero.
List.Generate(() => 10, each _ > 0, each _ - 1)
Result:
{10, 9, 8, 7, 6, 5, 4, 3, 2, 1}
Example #2
Generare un elenco di record contenenti x e y, dove x è un valore e y è un elenco. x deve essere meno di 10 e rappresentare il numero di elementi nell'elenco y. Dopo la generazione dell'elenco, restituire solo i valori x.
List.Generate(
() => [x = 1, y = {}],
each [x] < 10,
each [x = List.Count([y]), y = [y] & {x}],
each [x]
)
Result:
{1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Category
List.Generators