-4
(define function1 (lambda(val)
(if (list? val)
(function2 (val))
('!list))))
当我尝试输入“(TTT),我收到以下错误:为什么计划不允许您从另一个函数内调用函数?
application: not a procedure;
expected a procedure that can be applied to arguments
given: (t t t)
arguments...: [none]
我定义函数2和它的作品时,我调用自身,但我不能在function1中调用它。
我提交了一个编辑来清理你的代码示例,以使它更好地使用lisp-y风格。我希望它被接受。我相信,使用更简洁的代码风格,您的语法错误实际上更容易被发现。 – verdammelt
看看(可能重复)[“应用程序:不是程序”在二进制算术程序](http://stackoverflow.com/questions/19022704/application-not-a-procedure-in-binary-arithmetic-procedures )。 –