LISP - 变量
-
简述
在 LISP 中,每个变量都由一个symbol. 变量的名称是符号的名称,它存储在符号的存储单元中。 -
全局变量
全局变量在整个 LISP 系统中具有永久值,并且在指定新值之前一直有效。全局变量通常使用defvar构造。例如
单击执行按钮或键入 Ctrl+E 时,LISP 会立即执行并返回结果因为在 LISP 中没有变量的类型声明,你直接用setq构造。例如
上面的表达式将值 10 赋给变量 x。您可以使用符号本身作为表达式来引用变量。这symbol-value函数允许您提取存储在符号存储位置的值。例如
创建名为 main.lisp 的新源代码文件并在其中键入以下代码。当您单击“执行”按钮或键入 Ctrl+E 时,LISP 会立即执行并返回结果。 -
局部变量
局部变量在给定过程中定义。在函数定义中命名为 arguments 的参数也是局部变量。局部变量只能在各自的函数内访问。与全局变量一样,局部变量也可以使用setq构造。还有另外两个构造 -let和prog用于创建局部变量。let 构造具有以下语法。其中 var1、var2、..varn 是变量名,val1、val2、..valn 是分配给各个变量的初始值。什么时候let被执行,每个变量被赋予相应的值,最后s-expression被评估。返回最后计算的表达式的值。如果你不包括一个变量的初始值,它被分配给nil.例子
创建名为 main.lisp 的新源代码文件并在其中键入以下代码。当您单击“执行”按钮或键入 Ctrl+E 时,LISP 会立即执行并返回结果。这prog构造也有局部变量列表作为它的第一个参数,后面是prog,以及任意数量的 S 表达式。这prog函数按顺序执行s表达式列表并返回nil,除非遇到名为return.然后的论点return函数被评估并返回。例子
创建名为 main.lisp 的新源代码文件并在其中键入以下代码。当您单击“执行”按钮或键入 Ctrl+E 时,LISP 会立即执行并返回结果。