Wie kann ich mit Emacs Slime auf das Objekt oder den Wert zugreifen, der vom letzten Ausdruck in der REPL zurückgegeben wurde?
In ipython ist es _
, damit ich es in einer Variablen speichern kann, wenn der Rückgabewert dem entspricht, was ich erwartet habe.
Gibt es etwas Ähnliches für Slime?
2 Antworten
Common Lisp definiert einige Variablen, die an die vorherige Form gebunden sind, und ihre Werte. Diese sind:
*
,**
,***
Die neuesten Primärwerte./
,//
,///
Die neuesten Werte (jeder dieser Werte ist eine Liste).+
,++
,+++
Die neuesten Formulare.
Diese Variablen werden jedes Mal gebunden, wenn ein Formular in der REPL ausgewertet wird (was Slime tut). *
, /
und +
sind an den vorherigen Primärwert, die vorherigen Werte und die Form gebunden. **
, //
und ++
sind an die vorherigen Werte von *
, /
, //
gebunden. ***
, ///
und +++
sind an die vorherigen Werte von **
, //
, ++
gebunden.
Funktionen in Lisp können mehr als einen Wert zurückgeben. somit die Differenz zwischen *
, das den primären (ersten) Wert enthält, und /
, das eine Liste aller Werte enthält.
Neben der Antwort von Verdelts können Sie auch Objekte aus der Replik kopieren und einfügen. Ein Beispiel finden Sie im dritten Bild in diesem Artikel (den ich geschrieben habe). . Weitere Informationen finden Sie im Abschnitt Präsentationen des Slime-Handbuchs.
Neue Fragen
emacs
GNU Emacs ist ein erweiterbarer, anpassbarer, selbstdokumentierender Texteditor, der mit Lisp-Code erweitert werden kann. Obwohl Emacs ein Allzweckeditor ist, können hier Fragen zum Thema gestellt werden, wenn es um die Erweiterung von Emacs selbst (normalerweise durch Schreiben von Emacs Lisp-Funktionen) oder um bestimmte Programmiermodi geht. Andernfalls (und möglicherweise auch in diesen Fällen) sollten Sie Ihre Frage zu Emacs Stack Exchange stellen.