我在CLISP定义对权力的简单功能:EVAL:Common Lisp中未定义功能
(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)))
与STDIN作为
2
6
再说,STDERR引发此错误:
*** - EVAL: undefined function BASE
为什么参数 B或BASE不被看作一个可变的,但是一个功能? 数值为自我评价为什么这段代码不起作用?
如何编写函数调用?括号函数arg0 arg1 ... argn右括号。对?现在是什么?(B( - E 1))??看起来像一个函数调用。 Lisp说的是什么。但是B是一个变量而不是函数。所以Lisp抱怨。正确如此。 –
我低调你的问题,因为代码缺乏适当的缩进。基本上它根本没有缩进。请编辑您的问题并正确设置代码格式。 –
'(基指数)'也是一个函数调用。将无法工作。 –