📅  最后修改于: 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