List.GenerateList.Generate

SyntaxSyntax

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

InfoAbout

Generiert eine Liste mit Werten auf der Grundlage von vier Funktionen. Diese generieren den Anfangswert initial und überprüfen ihn anhand der Bedingung condition. Ist die Überprüfung erfolgreich, wird das Ergebnis ausgewählt und der nächste Wert next generiert.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. Darüber hinaus kann ein optionaler Parameter selector angegeben werden.An optional parameter, selector, may also be specified.

Beispiel 1Example 1

Erstellt eine Liste, die bei 10 beginnt, größer null bleibt und eine Schrittweite von "-1" besitzt.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

Beispiel 2Example 2

Generiert eine Liste von Datensätzen, die x und y enthalten, wobei x ein Wert und y eine Liste ist.Generate a list of records containing x and y, where x is a value and y is a list. x sollte kleiner als 10 bleiben und die Anzahl der Elemente in der Liste y darstellen.x should remain less than 10 and represent the number of items in the list y. Nach dem Generieren der Liste werden nur die x-Werte zurückgegeben.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