Я час нового программирования в Emacs lisp. У меня есть небольшой опыт работы со схемой, поэтому я понимаю общую картину лизиса в целом. Однако я использовал только «чисто функциональный» подмножество схемы и не знаю, как выполнять практические задания.Оценка Elisp в emacs
Напиши сейчас, я знаю, что C-x C-e
будет оценивать код, заключенный в круглые скобки, текущей позицией курсора.
Я хочу зацикливаться от i = 1 до 10 и распечатать значения i out. Как это делается? Я попытался следующие:
(defvar i 1)
(while (< i 11)
(print "i: " i)
(setq i (+ i 1)))
Emacs говорит мне: invalid function 0
.
- Как это сделать правильно?
- Почему Emacs рассказывающие мне
invalid function 0
Вы можете дать мне советы о том, как использовать буфер царапанию (все, что я знаю C-x C-e
оценивает) в Emacs. Спасибо за помощь!
EDIT1: Может ли кто-нибудь сказать мне, как распечатать последовательные значения i
с использованием цикла while?
EDIT2: Когда я оцениваю код, он открывает еще один крошечный буфер, отображающий каждое значение i
по одному за раз. Однако он не является большим буфером и показывает только значения i
с 13 по 19. Когда я пытаюсь попасть в этот буфер, он немедленно закрывается. Как «прокручивать» через этот крошечный буфер? Обратите внимание, что я использую emacs 24.3 через терминал
EDIT3: Я понял, что крошечный буфер является буфером сообщений. Есть ли лучший способ просмотреть вывод моего кода elisp? Буфер сообщений заполнен другим нежелательным результатом оценки вещей в emacs.
'C-h i g (eintr) RET' для начала и' C-h i g (elisp) 'в общем. (и 'h' в читателе информации, чтобы узнать, как его использовать.) – phils