Lisp 已锁定
我正在学习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
(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”。