我正在尝试设置此函数的一部分,因为方程式包含多个部分。我不断收到application: not a procedure
的错误,方程看起来像this,应该将其转换为方案函数。我的函数当前如下所示:
((and (> m 0) (> n 0) ack(- m 1) (ack(m (- n 1)))))
答案 0 :(得分:1)
在Lispy语言中,括号总是有意义的,您不能太少或太多。
在您的情况下,您需要以双括号((and ...
开头,这意味着您要执行and
,然后调用结果函数。您可能想删除一对外部括号。
第二,在Lisp中,您使用(fun arg1 arg2 ...)
语法而不是fun (arg1 arg2 ...)
调用函数,因此您的ack(- m 1) (ack(m (- n 1))
位可能应该是(ack (- m 1) (ack m (- n 1)))
。