Referencia > Referencia de funciones > Funciones lógicas > Let
 
Let
Propósito 
Establece una variable o variables en el resultado de las expresiones especificadas durante el cálculo o hasta que se finalice el guion o se cierre el archivo.
Formato 
Let ( {[} var1 = expresión1 {; var2 = expresión2…]} ; cálculo )
Parámetros 
var: Cualquier nombre de variable, nombre de variable local o nombre de variable global (para obtener directrices sobre la asignación de nombres a variables, consulte Asignar nombres a los campos).
expresión: Cualquier expresión, campo o constante de cálculo
cálculo: Cualquier expresión, campo o constante de cálculo
Los parámetros entre llaves { } son opcionales.
Tipo de datos devuelto 
texto, numérico, fecha, hora, marca de fecha y hora, contenedor
Se origina en 
FileMaker Pro 7.0
Descripción 
La función Let permite asignar los resultados de las expresiones a variables y devolver un resultado que puedan utilizar esas variables. Utilice Let para simplificar la lectura de fórmulas complejas al reducir la necesidad de llamar a funciones en funciones. Let también puede hacer que las fórmulas sean eficaces almacenando en variables el resultado de las llamadas a funciones para su reutilización dentro de la fórmula, y así reducir las llamadas a funciones innecesarias.
Para asignar varias variables a una función Let, utilice la sintaxis de lista entre corchetes [ ] y separadas por punto y coma. Para simplificar la lectura de varias variables, puede incluir cada variable y el cálculo devuelto en líneas independiente, aunque ese formato no es necesario. Por ejemplo:
Let ( [
variable = valor ;
variable2 = valor2
] ;
cálculo )
Se pueden declarar tres tipos de variables en una función Let:
variable: Una variable (sin prefijo), que solo está disponible en la función cuando se declara.
$variable: Una variable local (con el prefijo $), que solo está disponible con la función cuando se declara.
$$variable: Una variable global (con el prefijo $$), que está disponible en cualquier parte del archivo cuando se declara.
Una vez definidas, se puede hacer referencia a las variables locales y globales en cualquier cálculo de su alcance. Las variables locales definidas en un cálculo están dentro del alcance del archivo, pero solo están disponibles cuando los guiones no se están ejecutando. Las variables locales y globales (o incluso dos variables locales en guiones diferentes) pueden tener el mismo nombre pero se tratan como variables distintas y almacenan valores distintos.
Puede incluir un número de repeticiones opcional que aparece entre corchetes [ ] inmediatamente detrás del nombre de la variable. Por ejemplo:
Let ( [
$variable[repetición] = valor ;
$$variable2 = valor2
] ;
cálculo )
La función Let define las variables de izquierda a derecha. Puede utilizar variables definidas anteriormente (por ejemplo, variables definidas con el paso de guion Establecer variable) para definir nuevos valores de variables y puede anidar una función Let dentro de otra. Si utiliza una variable definida previamente dentro de una función Let anidada, la variable solo influye en la función anidada (como si hubiera definido una variable absolutamente única). Consulte el ejemplo Ciudad que se muestra más abajo.
Ejemplos 
Let ( x = 5 ; x*x ) devuelve 25.
Let ( [ x = 5 ; cuadrado = x*x ; cubo = cuadrado *x ] ; cubo ) devuelve 125.
En el siguiente ejemplo, se devuelve San Francisco - París.
Let (
Ciudad = "París" ;
Let (
Ciudad = "San Francisco" ;
Ciudad & "-"
)
& Ciudad )
En el siguiente ejemplo se establece una variable local en el conjunto de privilegios de la cuenta actual y se devuelve el contenido de la variable. Si este cálculo se utiliza en un guion, la variable local estará disponible durante la duración del mismo.
Let ( $PRIVILEGE_SET = Get ( AccountPrivilegeSetName ) ; $PRIVILEGE_SET ) devuelve [Full Access] si se evalúa mediante una cuenta con el conjunto de privilegios de acceso total.
El ejemplo siguiente establece una variable local contador a 50 repeticiones con un valor de 120:
Let ( $contador [50] = 120 ; $contador [50]*2 ) devuelve 240.
El siguiente ejemplo muestra cómo llevar parámetros designados con las funciones Evaluate, Let y Get ( ScriptParameter ) permitiendo el acceso solo a la variable "a" (el ejemplo devuelve 6):
ScriptParameter = "a = 5 ; b = 10"
Evaluate (
"Let ( ["
& Get ( ScriptParameter ) & "
] ;
a+1 )"
)
El siguiente ejemplo muestra cómo se llevan parámetros con nombre, permitiendo el acceso tanto a la variable "a" como a la "b". El primer parámetro simplificado hace que el segundo sea más complejo (el ejemplo devuelve 6, 12):
ScriptParameter = "a = 5 ; b = 10"
Evaluate (
"Let ( ["
& Get ( ScriptParameter ) & "
] ;
a+1 & \", \" & b+2 )"
)
En el siguiente ejemplo, se muestra cómo transferir parámetros con nombre, manteniendo la capacidad de comprobar la sintaxis del segundo parámetro de la función Let (el ejemplo devuelve 6, 12):
ScriptParameter = "a = 5 ; b = 10"
Let ( [
a = Evaluate (
"Let ( ["
& Get ( ScriptParameter ) & "
] ;
a )"
),
b = Evaluate (
"Let ( ["
& Get ( ScriptParameter ) & "
] ;
b )"
)
] ;
a+1 & ", " & b+2 )
Temas relacionados 
Referencia de funciones (lista de categorías)
Referencia de funciones (orden alfabético)
Acerca de las fórmulas
Acerca de las funciones
Definir campos de cálculo
Usar operadores en fórmulas
Usar variables