List.GenerateList.Generate

SintaxeSyntax

List.Generate(initial as function, condition as function, next as function, optional selector as nullable function) as list

SobreAbout

Gera uma lista de valores com base em quatro funções que geram o valor inicial initial, realizam o teste com base em uma condição condition e, se o teste é bem-sucedido, selecionam o resultado e geram o próximo valor next.Generates a list of values given four functions that generate the initial value initial, test against a condition condition, and if successful select the result and generate the next value next. Um parâmetro opcional, selector, também pode ser especificado.An optional parameter, selector, may also be specified.

Exemplo 1Example 1

Crie uma lista que comece em 10, permaneça maior que 0 e decremente em 1.Create a list that starts at 10, remains greater than 0 and decrements by 1.

List.Generate(() => 10, each _ > 0, each _ - 1)
1010
99
88
77
66
55
44
33
22
11

Exemplo 2Example 2

Gere uma lista de registros contendo x e y, em que x é um valor e y é uma lista.Generate a list of records containing x and y, where x is a value and y is a list. x deve permanecer menor que 10 e representar o número de itens na lista y.x should remain less than 10 and represent the number of items in the list y. Depois que a lista for gerada, retorne apenas os valores x.After the list is generated, return only the x values.

List.Generate(
    () => [x = 1, y = {}],
    each [x] < 10,
    each [x = List.Count([y]), y = [y] & {x}],
    each [x]
)
11
00
11
22
33
44
55
66
77
88
99