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