如何获取对 Emacs Slime 中最后返回对象的引用
How to get a reference to the last returned object in Emacs Slime
如何使用 Emacs Slime 访问由 REPL 中最后一个表达式return编辑的对象或值?
在 ipython 中它是 _
,这样如果 return 值符合我的预期,我可以将它保存在一个变量中。
史莱姆有类似的东西吗?
Common Lisp 定义了一些变量,这些变量绑定了以前的形式及其值。它们是:
*
, **
, ***
最近的主要值。
/
, //
, ///
最近的值(每个值都是一个列表)。
+
, ++
, +++
最近的表格。
每次在 REPL 中评估表单时都会绑定这些变量(这就是 Slime 正在做的)。 *
、/
、+
绑定了前一个主值、值和形式。 **
、//
和 ++
绑定到 *
、/
、//
的先前值。 ***
、///
和 +++
绑定了 **
、//
、++
.
的先前值
Lisp 中的函数可以 return 多个值;因此,保存主要(第一个)值的 *
和保存所有值列表的 /
之间的差异。
除了 verdammelts 答案,您还可以从 repl 复制和粘贴对象。有关示例,请参见史莱姆手册 this article (that I wrote). For more information you should look at the presentations 部分中的第三张图片。
如何使用 Emacs Slime 访问由 REPL 中最后一个表达式return编辑的对象或值?
在 ipython 中它是 _
,这样如果 return 值符合我的预期,我可以将它保存在一个变量中。
史莱姆有类似的东西吗?
Common Lisp 定义了一些变量,这些变量绑定了以前的形式及其值。它们是:
*
,**
,***
最近的主要值。/
,//
,///
最近的值(每个值都是一个列表)。+
,++
,+++
最近的表格。
每次在 REPL 中评估表单时都会绑定这些变量(这就是 Slime 正在做的)。 *
、/
、+
绑定了前一个主值、值和形式。 **
、//
和 ++
绑定到 *
、/
、//
的先前值。 ***
、///
和 +++
绑定了 **
、//
、++
.
Lisp 中的函数可以 return 多个值;因此,保存主要(第一个)值的 *
和保存所有值列表的 /
之间的差异。
除了 verdammelts 答案,您还可以从 repl 复制和粘贴对象。有关示例,请参见史莱姆手册 this article (that I wrote). For more information you should look at the presentations 部分中的第三张图片。