對不起,我試過幾次,我不能建立簡單的defmacro
- 任何人可以幫助我與:的elisp:與拉姆達defmacro
所以,我想定義的宏將擴展爲:
(define-key keymap "*" (lambda()
(interactive)
(some-func "*")))
我想是這樣的:
(defmacro wrap-and-define-key (keymap key func)
`(define-key ,keymap ,key (lambda() (interactive) (,func ,key))))
而且它的工作原理:
(wrap-and-define-key keymap key func)
但不與
(wrap-and-define-key keymap key 'func)
工作如何改變defmacro語句,以最後一種形式的工作?謝謝!
爲什麼它需要是宏?只需定義一個普通的函數。 – Barmar
@barmar是啊,它似乎是更簡單和更有用的解決方案。順便說一句,我只是想在這裏瞭解一些關於defmacro的信息。謝謝! – Rustem