LISP - 宏

宏可以擴展標準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

上一篇: LISP - 數據類型 下一篇: LISP - 變數