SetRecursion
式内部の再帰とループの最大繰り返し数を設定します。
構文
SetRecursion (式 ; 最大繰り返し)
引数
式
= 任意の計算式、フィールド、または定数
最大繰り返し
- 繰り返しの最大数。
戻り値のデータタイプ
テキスト、数字、日付、時刻、タイムスタンプ、オブジェクト
起点バージョン
18.0
説明
While 関数と再帰的カスタム関数の繰り返しは、デフォルトでそれぞれ 50,000 回にまで制限されます。この関数を使用すれば、制限を最大繰り返し
まで増加または減らすことができます。最大繰り返し
を超えた場合、この関数は「?」を返します。それ以外の場合は、この関数は式
の結果を返します。
メモ
- 非末尾再帰を使用するカスタム関数は、SetRecursion によって指定された
最大繰り返し
の影響も受けます。ただし、SetRecursion に関係なく、メモリ内で使用できるスタックの容量が少なすぎる場合、終了して「?」を返します。
例 1
While ループが SetRecursion によって指定された 5 回の制限を超えて繰り返すため「?」を返します。
コピー
SetRecursion (
While (
[i = 0 ; out = ""] ;
i ≤ 10 ;
[
i = i + 1 ;
out = out & $variable [i] & ¶
] ;
out
) ;
5 )
例 2
SetRecursion が繰り返しの制限を 200000 まで増やすため「100000」を返します。
コピー
SetRecursion (
While (
i = 0 ;
i < 100000 ;
i = i + 1 ;
i
) ;
200000 )