Ler em inglês

Partilhar via


List.Gerar

Sintaxe

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

Acerca de

Gera uma lista de valores usando as funções fornecidas. A initial função gera um valor candidato inicial, que é então testado em relação a condition. Se o valor candidato for aprovado, ele será retornado como parte da lista resultante e o próximo valor candidato será gerado passando o valor recém-aprovado para next. Quando um valor candidato não corresponde condition, o processo de geração de lista é interrompido. Um parâmetro opcional, , selectortambém pode ser fornecido para transformar os itens na lista resultante.

Exemplo 1

Crie uma lista começando em dez, diminuindo repetidamente por um e garantindo que cada item seja maior que zero.

Utilização

List.Generate(() => 10, each _ > 0, each _ - 1)

Saída

{10, 9, 8, 7, 6, 5, 4, 3, 2, 1}

Exemplo 2

Gere uma lista de registros contendo x e y, onde x é um valor e y é uma lista. x deve permanecer inferior a 10 e representar o número de itens na lista y. Depois que a lista for gerada, retorne apenas os valores x.

Utilização

List.Generate(
    () => [x = 1, y = {}],
    each [x] < 10,
    each [x = List.Count([y]), y = [y] & {x}],
    each [x]
)

Saída

{1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}