使用表达式
表达式是一个重要的概念,也是 JMP 脚本语言不可或缺的一部分。但什么是表达式呢?其实,它是一段用于完成任务的 JSL 代码。JSL 表达式可以保存数据、操作数据并向对象发送命令。表达式可以定义为变量、常量以及可求值的函数或运算符的任意组合。它可以像数字或变量名一样简单,也可以是一整段脚本。您可以将表达式存储在变量中,JMP 始终会立即求值。现在,在某些情况下,您可能希望延迟表达式的求值。延迟求值允许您在 JMP 求值之前检查或更改表达式。因此,您可以使用 Expr 函数来延迟表达式的求值,表达式本身作为唯一参数,函数返回未求值的表达式,该表达式可以存储在变量中。这也称为引用表达式。延迟表达式求值的对应操作是求值该表达式。您可以使用 Eval 函数立即对表达式求值,并将表达式本身或存储该表达式的变量作为唯一参数。此函数返回对表达式求值的结果。这被称为取消引用表达式。有时,您需要访问带引号的表达式而不对其进行求值。您可以使用 Name Expr 函数检索未求值的表达式,该函数返回未求值的表达式。例如,假设您使用 Expr 函数将表达式的乘法存储在变量 a 中。该表达式将以未求值的形式存储并返回到日志中。如果您在脚本中使用变量 a,JMP 将对其存储的表达式求值。如果您需要访问存储在 a 中的文字表达式而不对其进行求值,可以使用 Name Expr 函数并以 a 作为其参数。好的,既然您已经了解了如何延迟对表达式的求值,那么让我们来谈谈为什么您可能想要这样做。原因之一是您可以修改表达式。您可以通过插入、删除或替换来更改表达式,就像列表一样。有很多函数可以将表达式作为参数并进行修改。例如,假设你赋值给变量 a。你可以使用“插入到”函数通过添加参数来修改该表达式。例如,如果你想在表达式中添加一个因数,可以使用“插入到”函数,并将 a 指定为第一个参数,将 a 指定为第二个参数。然后,将 a 插入到“乘法”函数中,存储在 a 中的表达式将变为乘以乘以