我是 Common Lisp 的新手。我尝试构建自己的运算符函数。 在第一个函数中,我尝试将一个加到给定的数字上。 第二个函数我们递归使用第一个函数,频率为 m。 当我输入 totaladd ( 5 3 ) 时,我希望得到 8。 对于未定义的函数 k,我该怎么办?
(defun add1(n)
(+ n 1)
)
(write (add1 5))
(defun totaladd (k m)
(if (eq m 0)
0
(totaladd(add1(k) (- m 1)))
)
)
(write (totaladd 5 3))
最佳答案
下一行有3处错误:
(totaladd(add1(k) (- m 1)))
让我们看一下:
(totaladd ; totaladd is a function with two parameters
; you pass only one argument -> first ERROR
(add1 ; add1 is a function with one parameter
; you pass two arguments -> second ERROR
(k) ; K is a variable, but you call it as a function,
; but the function K is undefined -> third ERROR
(- m 1)))
关于common-lisp - 普通口齿不清 : Undefined function k,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51534922/