Let

在计算期间,或者在脚本退出或文件关闭之前,将一个或多个变量设置为指定表达式的结果。

格式 

Let({[}变量1=表达式1{;变量2=表达式2...]};计算)

参数 

变量 - 任意变量名称(参阅使用变量)。

表达式 - 任何计算表达式、字段或常数。

计算 - 任何计算表达式、字段或常数。

括号 { } 中的参数是可选的。

返回的数据类型 

文本、数值、日期、时间、时间戳、容器

原始版本 

7.0

说明 

Let 函数允许您将表达式的结果指定给变量,并返回可以使用那些变量的结果。使用 Let 可减少在函数中调用函数的需要,从而增强复杂公式的可读性。Let 还可以通过将函数调用的结果存储在变量中以在公式中重复使用,同时减少多余函数调用的次数,来提高公式的效率。

要在一个 Let 函数中指定多个变量,请使用括在括号中 [ ] 且用分号分隔的列表语法。为了增强多个变量的可读性,可以将每个变量和返回的计算放在单独的行上(虽然此种格式并非硬性规定)。例如:

复制
Let ( [
    变量 = 值;
    变量2 = 值2
];
计算 )

Let 函数从左向右设置变量。您可以使用先前定义的变量(例如,先前在 Let 函数中定义的函数变量或您用设置变量脚本步骤定义的局部和全局变量)来定义新的变量值。

您也可以将一个 Let 函数嵌套在另一个中。如果使用以前在嵌套的 Let 函数中定义的函数变量,则该函数变量只在嵌套的函数中有效(就好像您定义了一个完全唯一的变量)。请参阅下面的示例 2

可以在其作用域的任何计算中参考已定义的变量。计算中定义的局部变量的作用域为文件,但仅当脚本未运行时可用。请参阅使用变量

示例 1 

Let ( x = 5; x*x ) 返回“25”。

Let ( [ x = 5; 平方 = x*x; 立方 = 平方*x ]; 立方 ) 返回“125”。

示例 2

此示例返回“旧金山 - 巴黎”。

复制
Let (
    城市 = "巴黎";
    Let (
        城市 = "旧金山";
        城市 & " - "
    )
& 城市 )

示例 3 

本例为当前帐户访问权限的权限集设置了局部变量,并返回该变量的内容。如果在脚本中使用此计算,则该局部变量会在脚本执行期间可用。

Let ( $PRIVILEGE_SET = Get(帐户权限集名称) ; $PRIVILEGE_SET ) 如果由具有“完全访问权限”权限集的帐户进行解析,则会返回 [Full Access]

示例 4 

此示例设置一个重复项为 50、值为 120 的局部变量计数器

Let ( $计数器[50] = 120; $计数器[50]*2 ) 返回“240”。

示例 5 

此示例显示了在只允许访问 "a" 变量的条件下,如何使用 Evaluate、Let 和 Get(脚本参数) 函数传递指定参数(该示例返回“6”):

脚本参数 = "a = 5; b = 10"

复制
Evaluate ( 
    "Let ( [" 
        & Get(脚本参数) & "
    ]; 
    a+1 )" 
)

示例 6 

此示例显示了在允许访问变量 "a" 和变量 "b" 的条件下,如何传递指定参数。简化的第一个参数使第二个参数变得更为复杂(该示例返回“6”,“12”):

脚本参数 = "a = 5; b = 10"

复制
Evaluate ( 
    "Let ( ["
        & Get(脚本参数) & "
    ];
    a+1 & \", \" & b+2 )" 
)

示例 7 

此示例显示了在允许检查 Let 函数第二个参数的语法的条件下,如何传递指定参数(该示例返回“6”,“12”):

脚本参数 = "a = 5; b = 10"

复制
Let ( [
    a = Evaluate ( 
        "Let ( ["
            & Get(脚本参数) & "
        ];
        a )" 
    ),
    b = Evaluate ( 
        "Let ( ["
            & Get(脚本参数) & "
        ];
        b )"
    )
]; 
a+1 & ", " & b+2 )