在 LISP 中定义函数
名为的宏defun用于定义函数。这defun宏需要三个参数 -
defun 的语法是 -
(defun name (parameter-list) "Optional documentation string." body)
让我们用简单的例子来说明这个概念。
示例 1
让我们编写一个名为averagenum的函数,它将打印四个数字的平均值。我们会将这些数字作为参数发送。
创建一个名为 main.lisp 的新源代码文件,并在其中键入以下代码。
(defun averagenum (n1 n2 n3 n4)
(/ ( + n1 n2 n3 n4) 4)
)
(write(averagenum 10 20 30 40))
当您执行代码时,它返回以下结果 -
示例 2
让我们定义并调用一个函数,当圆的半径作为参数给出时,该函数将计算圆的面积。
创建一个名为 main.lisp 的新源代码文件,并在其中键入以下代码。
(defun area-circle(rad)
"Calculates area of a circle with given radius"
(terpri)
(format t "Radius: ~5f" rad)
(format t "~%Area: ~10f" (* 3.141592 rad rad))
)
(area-circle 10)
当您执行代码时,它返回以下结果 -
Radius: 10.0
Area: 314.1592
请注意 -
让我们简要讨论一下上述概念。单击以下链接以查找详细信息 -