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 guión 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, número, fecha, hora, 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 )
La función Let define las variables de izquierda a derecha. Puede utilizar variables definidas anteriormente (por ejemplo, variables definidas con el paso de guión 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.
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 sólo están disponibles cuando los guiones no se están ejecutando. Consulte Usar variables.
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 guión, 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.
En el siguiente ejemplo se 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 )"
)
En el siguiente ejemplo, se 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
Notas acerca de las funciones
Definir campos de cálculo
Operadores en fórmulas
Usar variables