1

По некоторым причинам функции emacs, которые используют интерактивную форму, не работают для меня в Mac OS x. Я использую emacs от emacsformacosx.com, который до сих пор работал безупречно. Пример такой функции, которая использует интерактив (взятый отсюда):

(defun multiply-by-seven (number)       ; Interactive version.
   "Multiply NUMBER by seven."
   (interactive "p")
   (message "The result is %d" (* 7 number)))

Я запускаю его с нуля с помощью Cx Ce, но я не могу ввести число и получить что-либо.

1 ответ1

5

Я немного обеспокоен:

Я запускаю его с нуля с помощью C-x C-e

Это не запускает функцию, она просто оценивает ее. Для вызова функции вы можете оценить:

(multiply-by-seven 10)
  => "The result is 70"

с помощью C-x C-e или интерактивного вызова:

M-x multiply-by-seven
  => "The result is 7"

и назвать это с аргументом

C-u M-x multiply-by-seven
  => "The result is 28"

или же

C-u 7 M-x multiply-by-seven
  => "The result is 49"

as (interactive "p") использует аргумент числового префикса, Emacs Manual

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .