LISP - 宏

  • 简述

    宏允许您扩展标准 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