Ga naar hoofdinhoud

List.Generate

Hiermee wordt een lijst met waarden gegenereerd.

Syntax

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

Remarks

Genereert een lijst met waarden met behulp van de opgegeven functies. De functie initial genereert een beginwaarde voor de kandidaat, die vervolgens wordt getest op condition. Als de kandidaatwaarde wordt goedgekeurd, wordt deze geretourneerd als onderdeel van de resulterende lijst en de volgende kandidaatwaarde wordt gegenereerd door de zojuist goedgekeurde waarde door te geven aan next. Als een kandidaatwaarde niet overeenkomt met condition, stopt het proces voor het genereren van de lijst. Een optionele parameter, selector, kan ook worden opgegeven om de items in de resulterende lijst te transformeren.

Examples

Example #1

Maak een lijst door te beginnen bij tien, herhaaldelijk met één te verlagen en ervoor te zorgen dat elk item groter is dan nul.

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

Result:

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

Example #2

Een lijst genereren met records die x en y bevatten, waarbij x een waarde en y een lijst is. x moet kleiner dan 10 blijven en het aantal items in de lijst y voorstellen. Nadat de lijst is gegenereerd, alleen de x-waarden retourneren.

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