我想要一个整数x,每次调用一个函数时它都会增加一个。
我被告知使用(defvar x)来声明变量,但这是否将其声明为int?
还有,在函数的末尾是否有一个与x++(x=x+1)等价的Lisp?
谢谢。

最佳答案

尝试incf递增:

(defvar *call-count* 0)

(defun my-func (...)
  (incf *call-count*)
  ...)

阅读defvar;它创建一个动态变量,但不声明其类型(为此使用declaim)。
Lisp中没有int,只有integer,其大小不受标准限制(也有较小的fixnum大小,但没有理由声明此变量的类型)。

08-07 04:38