LISP - 返回值函数
默认情况下,LISP 中的函数返回最后一个表达式的值作为返回值。 下面的例子将证明这一点。
示例 1
创建一个名为 main.lisp 的新源代码文件,并在其中键入以下代码。
(defun add-all(a b c d) (+ a b c d) ) (setq sum (add-all 10 20 30 40)) (write sum) (terpri) (write (add-all 23.4 56.7 34.9 10.0))
执行代码时,会返回以下结果 −
100 125.0
但是,您可以使用return-from特殊运算符立即从函数返回任何值。
示例 2
创建一个名为 main.lisp 的新源代码文件,并在其中键入以下代码 −
(defun myfunc (num) (return-from myfunc 10) num ) (write (myfunc 20))
执行代码时,会返回以下结果 −
10
稍微改变一下代码 −
(defun myfunc (num) (return-from myfunc 10) write num ) (write (myfunc 20))
它仍然返回 −
10