Что сказал Шон. Кроме того, у меня есть (eval-defun)
привязка к ключу вместе с тестом. В этом случае цикл разработки становится: 1) функцией редактирования, 2) нажатием клавиши eval-and-test, 3) просмотра результатов, 4) повторения. Это чрезвычайно быстро.
Во время разработки я пишу тест, привязываю его к jmc-test
, а затем использую вышеуказанную клавишу для запуска только что отредактированной функции. Я редактирую больше, затем снова нажимаю клавишу, снова проверяя. Когда функция работает, я запускаю jmc-test
, редактирую другую функцию и пишу другую функцию jmc-test. Это почти всегда одна строка кода, так что просто наброситься.
(defun jmc-eval-and-test ()
(interactive)
(eval-defun nil)
(jmc-test))
(define-key emacs-lisp-mode-map (kbd "<kp-enter>") 'jmc-eval-and-test)
(when t
(defun myfunc (beer yum)
(+ beer yum))
(defun jmc-test () (message "out: %s" (myfunc 1 2))))
При редактировании «myfunc», если я нажимаю клавишу ввода, она выводит «out: 3».