5

为什么(list + 1 2)在 Common Lisp (CCL REPL) 中进行评估会返回('(+ 1 2) 1 2)


更多:好的,我看到它+实际上评估了最后一个 REPL 结果,但我仍然有一个问题:这是一个标准的 CL REPL 东西,+等于最后一个结果,还是 Clozure 特定的?

4

1 回答 1

7

您会发现,在 REPL 中,变量*保存了最后的结果,并+保存了最后的评估形式。

例如:

> (+ 1 2)
  => 3
> +
  => (+ 1 2)
> (+ 2 3)
  => 5
> *
  => 5

是的,这些是标准的,并且在HyperSpec 中。

如果您希望创建一个包含符号+而不是其值的列表,则需要引用它,例如:'+(quote +)

于 2013-04-11T08:03:26.970 回答