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