如何设置函数语法

时间:2018-09-30 01:35:32

标签: scheme

我正在尝试设置此函数的一部分,因为方程式包含多个部分。我不断收到application: not a procedure的错误,方程看起来像this,应该将其转换为方案函数。我的函数当前如下所示:

((and (> m 0) (> n 0) ack(- m 1) (ack(m (- n 1)))))

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)))