LISP-マクロ
マクロを使用すると、標準のLISPの構文を拡張できます。
技術的には、マクロはs式を引数として受け取り、LISP形式を返す関数です。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