Hoppa till huvudinnehåll

List.Generate

Genererar en lista med värden.

Syntax​

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

Remarks​

Genererar en lista med värden med hjälp av de angivna funktionerna. Funktionen initial genererar ett startförslagsvärde som sedan testas mot condition. Om kandidatvärdet godkänns returneras det som en del av den resulterande listan och nästa kandidatvärde genereras genom att det nyligen godkända värdet skickas till next. När ett kandidatvärde inte matchar conditionstoppas listgenereringsprocessen. En valfri parameter, selector, kan också tillhandahållas för att transformera objekten i den resulterande listan.

Examples​

Example #1​

Skapa en lista genom att börja vid tio, minska upprepade gånger med en och se till att varje objekt är större än noll.

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

Result:

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

Example #2​

Generera en lista över poster som innehåller x och y, där x är värdet och y en lista. x ska vara mindre än 10 och representera antalet objekt i listan y. Returnera endast x-värdena när listan har genererats.

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