2016-01-04 4 views
3

Использование Emacs Slime, как я могу получить доступ к объекту или значениям, которые были возвращены последним выражением в REPL?Как получить ссылку на последний возвращенный объект в Emacs Slime

В ipython это _, так что я могу сохранить его в переменной, если возвращаемое значение является тем, что я ожидал.

Есть ли что-то подобное для слизи?

ответ

8

Common Lisp определяет некоторые переменные, которые связаны предыдущей формой и их значениями. Это:

  • *, **, *** Последние первичные значения.
  • /, //, /// Самые последние значения (каждый из них представляет собой список).
  • +, ++, +++ Последние формы.

Эти переменные привязываются каждый раз, когда форма оценивается в REPL (что и делает Слизь). *, / и + связаны предыдущим основным значением, значениями и формой. **, // и ++ связаны с предыдущими значениями *, /, //. ***, /// и +++ связаны предыдущие значения **, //, ++.

Функции в Lisp могут возвращать более одного значения; таким образом, разница между *, которая содержит первичное (первое) значение и /, которое содержит список всех значений.

6

В дополнение к ответам verdammelts вы также можете копировать и вставлять объекты из реплики. Для примера см. Третье изображение в статье this (что я написал). Для получения дополнительной информации вы должны посмотреть раздел presentations руководства Slime.