List.Generate
语法
List.Generate(initial as function, condition as function, next as function, optional selector as nullable function) as list
关于
给定生成初始值 initial
的四个函数,针对条件 condition
进行测试,如果成功,则选择结果并生成下一个值 next
,以此生成值列表。 还可以指定可选参数 selector
。
示例 1
创建从 10 开始,大于 0 且按 1 递减的值的列表。
使用情况
List.Generate(() => 10, each _ > 0, each _ - 1)
输出
{ 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 }
示例 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])
输出
{ 1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }