SetRecursion
Stelt het maximumaantal iteraties voor recursie en lussen binnen een expressie in.
Opmaak
SetRecursion (uitdrukking ; maxIteraties)
Parameters
uitdrukking
- een berekeningsuitdrukking, veld of constante
maxIteraties
- het maximumaantal iteraties.
Resulterend gegevenstype
tekst, getal, datum, tijd, tijdstempel, container
Afkomstig uit versie
18.0
Beschrijving
Standaard zijn de While functie en de recursieve eigen functies elk beperkt tot 50.000 iteraties. Met deze functie kunt u de limiet verhogen of verlagen naar maxIteraties
. Als maxIteraties
wordt overschreden, geeft deze functie "?" als resultaat. In andere gevallen retourneert de functie het resultaat van uitdrukking
.
Opmerkingen
- Eigen functies die gebruikmaken van niet-staartrecursie zijn ook afhankelijk van de waarde die SetRecursion heeft opgegeven voor
maxIteraties
. Deze functies worden echter ook beëindigd en geven "?" als resultaat wanneer de beschikbare ruimte in het geheugen te klein wordt, ongeacht de waarde die is opgegeven door SetRecursion.
Voorbeeld 1
Geeft "?" als resultaat omdat de While-lus probeert meer iteraties uit te voeren dan de limiet van vijf, die is opgegeven door SetRecursion.
SetRecursion (
While (
[ i = 0 ; uit = "" ] ;
i ≤ 10 ;
[
i = i + 1 ;
uit = uit & $variabele[ i ] & ¶
] ;
uit
) ;
5)
Voorbeeld 2
Geeft 100000 als resultaat omdat SetRecursion de iteratielimiet verhoogt naar 200000.
SetRecursion (
While (
i = 0 ;
i < 100000 ;
i = i + 1 ;
i
) ;
200000)