エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
defmacro - refwiki
Titledefmacro TypeMacro Argumentsdefmacro NAME (&rest LAMBDA-LIST) &body BODY Packagelisp Section... Titledefmacro TypeMacro Argumentsdefmacro NAME (&rest LAMBDA-LIST) &body BODY Packagelisp Sectionマクロ Fileevalmacs.l マクロを定義します。 使用例: ;;; cadrをマクロで定義し直した場合 (defmacro cadr (x) (list 'car (list 'cdr x))) => cadr (macroexpand '(cadr y)) => (car (cdr y)) 参考: --- 亀井さんの説明 [xyzzy:03975] --- マクロは 2 回評価される関数みたいなものと思っていれば 間違いないでしょう(ただし 1 回目の評価のときには引数の 評価はされない)。ごく簡単な例をあげると、 (defmacro foo () '(+ 1 2)) このように定義して