List.GenerateList.Generate

構文Syntax

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

バージョン情報About

初期値 initial を生成する指定された 4 つの関数に基づいて値のリストを生成し、条件 condition に対してテストを行います。合格した場合は、結果を選択し、次の値 next を生成します。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. 省略可能なパラメーター selector を指定することもできます。An optional parameter, selector, may also be specified.

例 1Example 1

10 で始まり、0 より大きく、デクリメントが 1 となるリストを作成します。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

例 2Example 2

X と y を含むレコードのリストを生成します。ここで、x は値、y はリストです。Generate a list of records containing x and y, where x is a value and y is a list. x は 10 未満で、リスト y 内の項目の数を表す必要があります。x should remain less than 10 and represent the number of items in the list y. リストが生成された後、x 値のみを返します。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