EVAL:Common LISP 中的未定义函数
EVAL: undefined function in Common LISP
我在 CLISP 中定义了一个简单的幂函数:
(defun power(B E)
(if (= E 1)
B
(* B ( power (B (- E 1))))))
但是当我尝试这样调用函数时:
(power 2 6)
我收到以下错误:
*** - EVAL: undefined function B
我在 Ideone.com 上尝试了以下代码:
(defun power(B E)
(if (= E 1)
B
(* B ( power (B (- E 1))))))
(setq base (read))
(setq exponent (read))
(print (power(base exponent)))
标准输入为
2
6
然后,STDERR 再次抛出此错误:
*** - EVAL: undefined function BASE
为什么 参数 B 或 BASE 不被视为变量而是 函数?
数值是自我评估 那么为什么这段代码不起作用?
(defun power (B E)
(if (= E 1)
B
(* B (power B (- E 1)))))
...您不能像使用其他一些编程语言那样在 Lisp 中添加 "redundant" 括号。
我在 CLISP 中定义了一个简单的幂函数:
(defun power(B E)
(if (= E 1)
B
(* B ( power (B (- E 1))))))
但是当我尝试这样调用函数时:
(power 2 6)
我收到以下错误:
*** - EVAL: undefined function B
我在 Ideone.com 上尝试了以下代码:
(defun power(B E)
(if (= E 1)
B
(* B ( power (B (- E 1))))))
(setq base (read))
(setq exponent (read))
(print (power(base exponent)))
标准输入为
2
6
然后,STDERR 再次抛出此错误:
*** - EVAL: undefined function BASE
为什么 参数 B 或 BASE 不被视为变量而是 函数? 数值是自我评估 那么为什么这段代码不起作用?
(defun power (B E)
(if (= E 1)
B
(* B (power B (- E 1)))))
...您不能像使用其他一些编程语言那样在 Lisp 中添加 "redundant" 括号。