Lisp函数具有默认参数值

147*_*7pm 1 common-lisp

我想有一个带有单个参数的CL函数,但也有一个默认参数值.

(defun test1 ((x 0))
  (+ x x))
Run Code Online (Sandbox Code Playgroud)

似乎是语法,但它不起作用.我看到的教程只有与&optional和&key一起使用时才有上面的参数 - 默认形式.是否可以只有一个函数参数并且它具有默认值?

Vat*_*ine 6

您需要表明它是一个可选参数:

(defun test1 (&optional (x 0))
   (+ x x))
Run Code Online (Sandbox Code Playgroud)

如上所述,您已指定了无效的lambda列表,并且希望从REPL中看到一些诊断信息.