Let
Propósito
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 - qualquer nome de
variável, nome de variável local ou nome de variável global (consulte
Sobre a nomeação de campos para diretrizes sobre como nomear 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 )
Três tipos de variáveis podem ser declaradas em uma função Let:
•variável – uma variável (sem prefixo), que está disponível somente dentro da função em que é declarada
•$variável – uma variável local (com prefixo $), que está disponível somente com o script em que é declarada
•$$variável – uma variável global (com prefixo $$), que está disponível em qualquer lugar dentro do arquivo em que é declarada
Uma vez definidas, as variáveis locais e globais poderão ser mencionadas 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. Uma variável local e uma variável global (ou até mesmo duas variáveis locais em scripts diferentes) podem ter o mesmo nome, mas serão tratadas como variáveis diferentes, e armazenar valores diferentes.
Você pode incluir um número de repetição opcional que aparece entre colchetes [ ] imediatamente após o nome da variável. Por exemplo:
Let ( [
$variável[repetição] = valor ;
$$variável2 = valor2
] ;
cálculo )
A função
Let define as variáveis da esquerda para a direita. É possível usar as variáveis definidas anteriormente (por exemplo, variáveis definidas com a
Definir variável etapa de script) para definir novos valores de variável e aninhar uma função
Let em outra. Se você usar uma variável definida anteriormente em uma função
Let aninhada, a variável terá escopo somente na função aninhada (como se você tivesse definido uma variável completamente exclusiva. Consulte o exemplo de Cidade abaixo.
Exemplos
Let ( x = 5 ; x*x ) retorna 25.
Let ( [ x = 5 ; ao quadrado = x*x ; ao cubo = ao quadrado*x ] ; ao cubo ) retorna 125.
O seguinte exemplo retorna São Francisco - Paris.
Let (
Cidade = "Paris" ;
Let (
Cidade = "São Francisco" ;
Cidade & "-"
)
& Cidade )
O seguinte exemplo define uma variável para o conjunto de privilégios da 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á [Acesso total] se for avaliado por uma conta com conjunto de privilégios de Acesso total.
O seguinte 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.
O seguinte 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 )"
)
O seguinte 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 )"
)
O seguinte 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