(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中调用它。
答案 0 :(得分:5)
问题是val
不是函数。您应该将(function2(val))
替换为(function2 val)
。
此外'!list
也不是一个功能; <{1}}表达式的else子句也需要更正。
答案 1 :(得分:3)
'!list
和val
不是程序。