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?

5
Suzana 4 Jän. 2016 im 19:02

2 Antworten

Beste Antwort

Common Lisp definiert einige Variablen, die an die vorherige Form gebunden sind, und ihre Werte. Diese sind:

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.

8
verdammelt 4 Jän. 2016 im 16:41

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.

6
malisper 4 Jän. 2016 im 18:14