Как передать функцию в качестве параметра в Emacs Lisp? - PullRequest
2 голосов
/ 19 июля 2009

Я пытаюсь добавить созданную мной функцию в ловушку, но очевидный (на мой взгляд, Schemer) способ, похоже, не работает. Функция используется в 2 местах, и я хочу, чтобы мой код был СУХИМ, чтобы не было анонимной функции. Хотя я мог бы обернуть свою функцию в лямбду, должен быть лучший способ.

Не работает:

(defun my-function ()
   ;; do my stuff)

(add-hook 'some-hook-list my-function)

Я получаю сообщение об ошибке:

Значение символа в качестве переменной недействительно: моя функция

1 Ответ

6 голосов
/ 19 июля 2009

Я понял это. Это довольно просто. Просто процитируйте функцию:

Фиксированный код: (defun my-function () ;; делай мои дела)

(add-hook 'some-hook-list 'my-function) ;;; There's a quote before my-function
...