参考 > 函数参考 > 逻辑函数 > Let
 
Let
目的 
在计算期间,或者在脚本退出或文件关闭之前,将一个或多个变量设置为指定表达式的结果。
格式 
Let ( {[}变量1=表达式1 {; 变量2=表达式2...]} ; 计算 )
参数 
变量 - 任何变量名、局部变量名或全局变量名(有关命名变量的准则,请参阅关于命名字段)。
表达式 - 任何计算表达式字段常数
计算 - 任何计算表达式、字段或常数。
括号 { } 中的参数是可选的。
返回的数据类型 
文本、数值、日期、时间、时间戳、容器
源于 
FileMaker Pro 7.0
说明 
Let 函数允许您将表达式的结果指定给变量,并返回可以使用那些变量的结果。使用 Let 可减少在函数中调用函数的需要,从而增强复杂公式的可读性。Let 还可以通过将函数调用的结果存储在变量中以在公式中重复使用,同时减少冗余函数调用的次数,来提高公式的效率。
要在一个 Let 函数中指定多个变量,请使用括在括号中 [ ] 且用分号分隔这个列表语法。为了增强多个变量的可读性,可以将每个变量和返回的计算放在单独的行上。(虽然此种格式并非硬性规定的。)例如:
Let ( [
变量 = 值 ;
变量2 = 值2
] ;
计算 )
在一个 Let 函数中可以声明三种类型的变量:
variable – 一个变量(不带前缀),仅在声明它所在的函数中可用
$variable – 一个局部变量(带有前缀 $),仅在声明它所在的脚本中可用
$$variable – 一个全局变量(带有前缀 $$),在声明它所在的文件中的任何位置都可用
可以在其作用域的任何计算中参考已定义的局部变量和全局变量。计算中定义的局部变量的作用域为文件,但仅当脚本未运行时可用。局部变量和全局变量(甚至是不同脚本中的两个局部变量)可以具有相同的名称,但它们会被视为不同的变量并可以存储不同的值。
可以包括显示在变量名之后紧跟着的括号 [ ] 中的可选重复项编号。例如:
Let ( [
$variable[重复项] = 值 ;
$$variable2 = 值2
] ;
计算 )
Let 函数从左向右设置变量。可以使用以前定义的变量(例如,使用设置变量脚本步骤定义的变量)定义新变量值,并可以将一个 Let 函数嵌套在另一个 Let 函数中。如果使用以前在嵌套的 Let 函数中定义的变量,则该变量只在嵌套的函数中有效(就好像您定义了一个完全唯一的变量)。参阅下面的城市示例。
示例 
Let ( x = 5 ; x*x ) 返回“25”。
Let ( [ x = 5 ; 平方 = x*x ; 立方 = 平放*x ] ; 立方 ) 返回“125”。
以下示例返回“旧金山 - 巴黎”。
Let (
城市 =“巴黎” ;
Let (
城市 =“旧金山” ;
城市 &“-”
)
& 城市 )
以下示例为当前帐户的权限集设置了局部变量,并返回该变量的内容。如果在脚本中使用此计算,则该局部变量会在脚本执行期间可用。
Let ( $PRIVILEGE_SET = Get ( 帐户权限集名称 ) ; $PRIVILEGE_SET ) 如果由具有“完全访问”权限集的帐户进行解析,则会返回 [完全访问]
以下示例设置一个重复项为 50、值为 120 的局部变量计数器
Let ( $计数器[50] = 120 ; $计数器[50]*2 ) 返回“240”。
下面的示例显示了在只允许访问“a”变量的条件下,如何使用 EvaluateLetGet ( 脚本参数 ) 函数传递指定参数(该示例返回“6”):
脚本参数 = "a = 5 ; b = 10"
Evaluate (
"Let ( ["
& Get ( 脚本参数 ) & "
] ;
a+1 )"
)
下面的示例显示了在允许访问变量“a”和变量“b”的条件下,如何传递指定参数。简化的第一个参数使第二个参数变得更为复杂(该示例返回“6”,“12”):
脚本参数 = "a = 5 ; b = 10"
Evaluate (
"Let ( ["
& Get ( 脚本参数 ) & "
] ;
a+1 & \", \" & b+2 )"
)
下面的示例显示了在允许检查 Let 函数第二个参数的语法的条件下,如何传递指定参数(该示例返回“6”,“12”):
脚本参数 = "a = 5 ; b = 10"
Let ( [
a = Evaluate (
"Let ( ["
& Get ( 脚本参数 ) & "
] ;
a )"
),
b = Evaluate (
"Let ( ["
& Get ( 脚本参数 ) & "
] ;
b )"
)
] ;
a+1 & ", " & b+2 )
相关主题 
函数参考(类别列表)
函数参考(按字母数字顺序排序的列表)
关于公式
关于函数
定义计算字段
在公式中使用运算符
使用变量