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