SetRecursion

Define o número máximo de iterações para recorrências e loops em uma expressão.

Formato 

SetRecursion ( expressão ; máxIterações )

Parâmetros 

expressão - qualquer expressão, campo ou constante de cálculo.

máxIterações - o número máximo de iterações.

Tipo de dados retornado 

texto, número, data, hora, carimbo de data/hora, container

Originada na versão 

18.0

Descrição 

Por padrão, a Função While e as funções personalizadas recursivas têm um limite de 50.000 iterações. Esta função permite aumentar ou diminuir o limite de máxIterações. Se o valor de máxIterações for excedido, a função retornará "?"; caso contrário, retornará o resultado da expressão.

Notas 

  • As funções personalizadas que usam recursão sem cauda também estão sujeitas ao parâmetro máxIterações especificado por SetRecursion. No entanto, elas também encerrarão e retornarão "?" se o espaço da pilha disponível na memória ficar muito pequeno, independentemente de SetRecursion.

Exemplo 1 

Retorna "?" porque o loop While tenta iterar mais vezes do que o limite de cinco vezes especificado por SetRecursion.

Copiar
SetRecursion ( 
    While (  
        [ i = 0 ; fora = "" ] ;
        i ≤ 10 ;  
        [ 
            i = i + 1 ; 
            fora = fora & $variável[ i ] & ¶ 
        ] ;
        fora 
    ) ; 
5 )

Exemplo 2 

Retorna 100000 porque SetRecursion aumenta o limite de iteração para 200000.

Copiar
SetRecursion ( 
    While (  
        i = 0 ; 
        i < 100000 ; 
        i = i + 1 ; 
        i 
    ) ; 
200000 )