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