Referência > Referência de funções > Funções lógicas > SetRecursion
 

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

Originado em 

FileMaker Pro 18.0 Advanced

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.

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.

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

Tópicos relacionados 

Referência de funções (lista de categorias)

Referência de funções (lista em ordem alfabética)

Sobre fórmulas

Sobre funções

Definição de campos de cálculo

Utilização de operadores em fórmulas