Zum Hauptinhalt springen

List.Generate

Generiert eine Liste von Werten.

Syntax

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

Remarks

Generiert eine Liste von Werten mithilfe der bereitgestellten Funktionen. Die Funktion initial generiert einen Startkandidatenwert, der dann gegen condition getestet wird. Wenn der Kandidatenwert genehmigt wird, wird er als Teil der resultierenden Liste zurückgegeben, und der nächste Kandidatenwert wird generiert, indem der neu genehmigte Wert an next übergeben wird. Sobald ein Kandidatenwert nicht mit condition übereinstimmt, wird der Listengenerierungsprozess beendet. Ein optionaler Parameter selector kann ebenfalls bereitgestellt werden, um die Elemente in der resultierenden Liste zu transformieren.

Examples

Example #1

Erstellen Sie eine Liste, indem Sie bei 10 beginnen, wiederholt um eins verringern und sicherstellen, dass jedes Element größer als Null ist.

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

Result:

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

Example #2

Generiert eine Liste mit Datensätzen, die 'x' und 'y' enthalten, wobei 'x' einem Wert und 'y' einer Liste entspricht. 'x' sollte kleiner als 10 sein und die Anzahl der in der Liste 'y' enthaltenen Elemente darstellen. Nachdem die Liste generiert wurde, sollen nur die x-Werte zurückgegeben werden.

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