【发布时间】:2016-05-14 22:32:57
【问题描述】:
(define function1 (lambda(val)
(if (list? val)
(function2 (val))
('!list))))
当我尝试输入 '(t t t) 时,我收到以下错误:
application: not a procedure;
expected a procedure that can be applied to arguments
given: (t t t)
arguments...: [none]
我已经定义了 function2,当我自己调用它时它可以工作,但我无法在 function1 中调用它。
【问题讨论】:
-
我提交了一个编辑来清理您的代码示例,使其具有更好的 lisp-y 风格。我希望它被接受。我相信,使用更简洁的代码风格,你的语法错误实际上更容易被发现。
-
请不要通过破坏您的帖子为他人增加工作量。通过在 Stack Overflow 上发帖,您已根据CC BY-SA 3.0 license 授予 SO 分发该内容的不可撤销的权利。根据 SO 政策,任何破坏行为都将被撤销。如果您想了解更多关于删除帖子的信息,请查看How does deleting work?