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.

Kopiëren
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.

Kopiëren
SetRecursion ( 
    While (  
        i = 0 ; 
        i < 100000 ; 
        i = i + 1 ; 
        i 
    ) ; 
200000)