List.Generate
値の一覧を生成します。
Syntax
List.Generate(
initial as function,
condition as function,
next as function,
optional selector as function
) as list
Remarks
指定された関数を使用して値の一覧を生成します。initial
関数は開始候補値を生成し、condition
に対してテストされます。 候補の値が承認されると、結果リストの一部として返され、次の候補値は、新しく承認された値を next
に渡すことで生成されます。 候補値が condition
と一致しない場合、リスト生成プロセスは停止します。 省略可能なパラメーター selector
を指定して、結果の リスト内の項目を変換することもできます。
Examples
Example #1
10 から始まり、1 ずつ減数を繰り返し、各項目が 0 より大きいことを確認してリストを作成します。
List.Generate(() => 10, each _ > 0, each _ - 1)
Result:
{10, 9, 8, 7, 6, 5, 4, 3, 2, 1}
Example #2
x と y を含むレコードのリストを生成します (x は値、y はリスト)。x は、10 未満を保持し、リスト y 内の項目数を表す必要があります。リストが生成された後は、x の値のみを返します。
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