📜  LISP-宏

📅  最后修改于: 2020-11-03 07:07:28             🧑  作者: Mango


宏允许您扩展标准LISP的语法。

从技术上讲,宏是一个将s表达式作为参数并返回LISP形式的函数,然后对其进行求值。

定义宏

在LISP中,使用另一个名为defmacro的宏定义了一个命名宏定义宏的语法是-

(defmacro macro-name (parameter-list))
"Optional documentation string."
body-form

宏定义包括宏的名称,参数列表,可选的文档字符串和Lisp表达式的主体,这些主体定义了要由宏执行的作业。

让我们编写一个名为setTo10的简单宏,它将使用一个数字并将其值设置为10。

创建名为main.lisp的新源代码文件,并在其中键入以下代码。

(defmacro setTo10(num)
(setq num 10)(print num))
(setq x 25)
(print x)
(setTo10 x)

当您单击执行按钮或键入Ctrl + E时,LISP立即执行它,返回的结果是-

25
10