当前位置: 首页 > 文档资料 > LISP 中文教程 >

Macros

优质
小牛编辑
136浏览
2023-12-01

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

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

定义宏

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

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

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

例子 (Example)

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

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

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

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

25
10