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

Let

Configura uma ou mais variáveis com o resultado das expressões especificadas durante o cálculo ou até o término do script ou o arquivo ser fechado.

Formato 

Let({[} var1 = expressão1 {; var2 = expressão2...]} ; cálculo)

Parâmetros 

var - nome de uma variável (consulte Utilização de variáveis).

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

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

Os parâmetros entre chaves { } são opcionais.

Tipo de dados retornado 

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

Originado em 

FileMaker Pro 7.0

Descrição 

A função Let permite atribuir os resultados de expressões a variáveis e retornar um resultado que pode usar essas variáveis. Use Let para tornar fórmulas complexas mais fáceis de ler reduzindo a necessidade de chamar funções dentro de funções. Let também pode tornar fórmulas mais eficientes armazenando o resultado de chamadas de função em variáveis para reutilização dentro da fórmula, reduzindo o número de chamadas redundantes de função.

Para atribuir diversas variáveis em uma função Let, use uma sintaxe de lista entre colchetes [ ] e separada por ponto e vírgula. Para facilitar a leitura de diversas variáveis, você pode colocar cada variável e o cálculo retornado em linhas separadas, embora essa formatação não seja necessária. Por exemplo:

Let([
variável = valor;
variável2 = valor2
];
cálculo)

A função Let define as variáveis da esquerda para a direita. Você pode usar variáveis definidas anteriormente (como variáveis de função definidas anteriormente na função Let ou variáveis locais e globais definidas com a Etapa de script Definir variável) para definir novos valores de variável.

Você também pode aninhar duas funções Let. Se você usar uma variável de função definida anteriormente em uma função Let aninhada, a variável de função terá escopo somente na função aninhada (como se você tivesse definido uma variável completamente exclusiva). Consulte o exemplo 2 abaixo.

Uma vez definidas, as variáveis poderão ser referenciadas em qualquer cálculo dentro de seu escopo. As variáveis locais definidas em um cálculo têm o escopo definido para o arquivo, mas ficam disponíveis apenas quando os scripts não estão em execução. Consulte Utilização de variáveis.

Exemplo 1 

Let(x = 5; x*x) retorna 25.

Let([ x = 5; ao quadrado = x*x; ao cubo = ao quadrado*x ]; ao cubo) retorna 125.

Exemplo 2 

Este exemplo retorna São Francisco - Paris.

Let(
Cidade = "Paris";
Let(
Cidade = "São Francisco";
Cidade & "-"
)
& Cidade)

Exemplo 3 

Este exemplo define uma variável local para o conjunto de privilégios do acesso de conta atual e retorna o conteúdo da variável. Se este cálculo for usado em um script, a variável local estará disponível pelo tempo que durar o script.

Let($PRIVILEGE_SET = Get (AccountPrivilegeSetName) ; $PRIVILEGE_SET) retornará [Full Access] se for avaliado por uma conta com conjunto de privilégios de Acesso total.

Exemplo 4 

Este exemplo define um contador de variáveis locais na repetição 50 com um valor de 120:

Let($contador[50] = 120; $contador[50]*2) retorna 240.

Exemplo 5 

Este exemplo mostra como passar parâmetros nomeados usando as funções Evaluate, Let e Get (ScriptParameter), permitindo o acesso somente à variável "a" (o exemplo retorna 6):

ScriptParameter = "a = 5; b = 10"Evaluate(
"Let(["
& Get (ScriptParameter) & "
];
a+1)"
)

Exemplo 6 

Este exemplo mostra como passar parâmetros nomeados, permitindo o acesso às variáveis "a" e "b". O primeiro parâmetro simplificado torna o segundo parâmetro mais complexo (o exemplo retorna 6, 12):

ScriptParameter = "a = 5; b = 10"Evaluate(
"Let(["
& Get (ScriptParameter) & "
];
a+1 & \", \" & b+2)"
)

Exemplo 7 

Este exemplo mostra como passar parâmetros nomeados, mantendo a capacidade de verificar a sintaxe do segundo parâmetro da função Let (o exemplo retorna 6, 12):

ScriptParameter = "a = 5; b = 10"Let([
a = Evaluate(
"Let(["
& Get (ScriptParameter) & "
];
a)"
),
b = Evaluate(
"Let(["
& Get (ScriptParameter) & "
];
b)"
)
];
a+1 & ", " & b+2)

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

Utilização de variáveis