Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lisp 已锁定_Lisp_Common Lisp_Clisp - Fatal编程技术网

Lisp 已锁定

Lisp 已锁定,lisp,common-lisp,clisp,Lisp,Common Lisp,Clisp,我正在学习Lisp编程语言。我编写了一个简单的程序: (defun abs(x) (cond ((> x 0) x) ((= x 0) 0) ((< x 0) (- x)))) (print (abs 5)) 当我编译并运行此代码时,会收到以下警告: WARNING: DEFUN/DEFMACRO(ABS): #<PACKAGE COMMON-LISP> is locked Ignore the lock and

我正在学习Lisp编程语言。我编写了一个简单的程序:

(defun abs(x)
  (cond ((> x 0) x)
        ((= x 0) 0)
        ((< x 0) (- x))))

(print (abs 5))
当我编译并运行此代码时,会收到以下警告:

WARNING: DEFUN/DEFMACRO(ABS): #<PACKAGE COMMON-LISP> is locked
         Ignore the lock and proceed
WARNING: DEFUN/DEFMACRO: redefining function ABS in /home/lisp/file.lisp, was defined in C
我不明白为什么会有这样的警告,这是什么意思?
有人能解释一下吗?

您正在尝试重新定义ANSI Common Lisp函数 系统正在警告你

请看 在手册中


你现在欠我的。

除了FrédéricHamidi的评论,请注意,Common Lisp中已经定义了一个函数。你不能重新定义它。使用不同的包装或不同的名称,例如“我的abs”。