巨集可以擴充套件標準LISP的語法。
從技術上講,巨集是一個函式,它接受一個s-expression作為引數,並返回一個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)
當您單擊Execute按鈕,或按下Ctrl+ E,LISP立即執行它,返回的結果是:
25 10