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