位置:首頁 > 高級語言 > Lisp教學 > LISP - 宏

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