默认情况下,LISP中的函数返回作为返回值计算的最后一个表达式的值。 以下示例将演示此操作。
创建一个名为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特殊运算符立即从函数返回任何值。
创建一个名为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