使用Emacs Slime,如何访问REPL中最后一个表达式返回的对象或值?
在ipython中,_
如果返回值是我所期望的,我可以将它保存在变量中.
Slime有类似的东西吗?
Common Lisp定义了一些绑定前一个表单及其值的变量.这些是:
*
,**
,***
最近一次值.
/
,//
,///
最新值(每一项都是一个列表).
+
,++
,+++
最近的形式.
每次在REPL中评估表单时都会绑定这些变量(这就是Slime正在做的事情).*
,/
和,并+
绑定以前的主要值,值和形式.**
,//
以及++
绑定到以前的值*
,/
,//
.***
,///
以及+++
结合以前的值**
,//
,++
.
Lisp中的函数可能返回多个值; 因此,它们之间的差异*
保持主要(第一)值并且/
保存所有值的列表.
除了verdammelts答案,您还可以复制和粘贴repl中的对象.举一个例子参见第三图像此文章(我写).有关更多信息,请查看Slime手册的演示文稿部分.