SetRecursion
设置表达式中递归和循环的最大迭代次数。
格式
SetRecursion(表达式;最大迭代次数)
参数
表达式
- 任何计算表达式、字段或常数。
最大迭代次数
- 最大迭代次数。
返回的数据类型
文本、数值、日期、时间、时间戳、容器
原始版本
18.0
说明
While函数和递归自定义函数的默认限制均为 50,000 次迭代。此函数允许您增大或减小最大迭代次数
限制。如果超过最大迭代次数
,此函数将返回"?";否则返回表达式
结果。
注释
- 使用非尾递归的自定义函数也应遵守 SetRecursion 指定的
最大迭代次数
。但如果内存中的可用堆栈空间变得太小,则无论 SetRecursion 如何,其都将终止并返回"?"。
示例 1
如果 While 循环尝试迭代超过 SetRecursion 指定的五倍限制,则返回"?"。
复制
SetRecursion (
While (
[ i = 0 ; out = "" ] ;
i ≤ 10 ;
[
i = i + 1 ;
out = out & $变量[ i ] & ¶
] ;
out
) ;
5 )
示例 2
如果 SetRecursion 将迭代次数限制增大到 200000,则返回“100000”。
复制
SetRecursion (
While (
i = 0 ;
i < 100000 ;
i = i + 1 ;
i
) ;
200000 )