变量
好的,现在我们来谈谈变量。您可以使用变量来存储在脚本运行过程中不断变化的值。这些值可以是任何类型的数据、任何类型的数据结构或对其他对象的引用。与许多编程语言不同,JMP 变量无需在脚本开头声明或列出,并且它们不限于存储任何特定的数据类型。因此,您可以随时为现有变量赋值,并且新值不必与旧值具有相同的数据类型或引用。变量也具有作用域,即 JMP 中定义的变量可用区域和时间。变量可用的区域也称为其命名空间——该名称与特定值或对象引用关联的空间。默认情况下,变量是全局的,这意味着它们存在于全局命名空间中。只要当前 JMP 会话存在,全局变量在 JMP 中的任何位置都可用。换句话说,全局变量会一直存在,直到您退出 JMP。假设您创建了一个全局变量 s,用于存储脚本计算出的和。在当前 JMP 会话期间运行的任何脚本都可以访问该变量。但是,需要注意的是,如果您倾向于在多个脚本中使用相同的变量名,例如用 s 表示和,或用 i 表示计数器,则这些值可能会相互冲突。换句话说,您可能不希望第二个脚本中的 s 覆盖第一个脚本中 s 的值,但如果两个脚本都使用同名的全局变量,那么就会发生这种情况,因为您不能拥有同名全局变量的不同副本。因此,限制变量的作用域会很有用,使其仅在有限的区域或有限的时间内可用。实现这一点的一种方法是使用局部变量。这些变量被限制在有限的命名空间内,这意味着它们仅在脚本的某些部分运行时暂时可用。您可以使用 Local 函数创建局部变量,这是一种管理脚本中名称并避免全局命名空间冲突的好方法。使用全局变量的另一种方法是使用 Here 命名空间。在脚本中使用 Names Default to 函数,并以 a 作为布尔参数,可以为任何脚本创建一个唯一的 Here 命名空间。这允许您将变量的范围限制在单个脚本内,而无需使用 Local 函数。您可以根据需要创建和管理其他命名空间,除了 Global、Here 和 Local 命名空间之外,JMP 还包含一些其他预定义的命名空间。