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