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