我想要一个带有单个参数的 CL 函数,但也有一个默认参数值。
(defun test1 ((x 0))
(+ x x))
似乎是语法,但它不起作用。我看到的教程只有与 &optional 和 &key 一起使用时才有像上面那样的参数默认形式。是否有可能只有一个函数参数而它有一个默认值?
最佳答案
您需要表明它是一个可选参数:
(defun test1 (&optional (x 0))
(+ x x))
正如所写,您指定了一个无效的 lambda 列表,并且应该希望看到来自 REPL 的一些诊断信息。
关于common-lisp - 带有默认参数值的 Lisp 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29990920/