clisp:变量没有值

clisp:变量没有值,lisp,common-lisp,Lisp,Common Lisp,我想制作一个用户程序,它提取元素a,元素b由参数给出,作为列表中的一对 比如,如果我给c作为参数,列出c a c b d f d g, 结果应为“a”“b” 我定义了一个函数,如下所示 (defun myr (b a) (if (= CAAR(a) b) CDAR(a) 'nope myr(b CDR(a)))); 像这样打电话 myr(b ((b a) (b c) (a d) (a f))) 但结果就像变量myr并没有值一样 这是我第一次用Lisp,所以只要告诉我应该搜索什么关键字,对我会

我想制作一个用户程序,它提取元素a,元素b由参数给出,作为列表中的一对

比如,如果我给c作为参数,列出c a c b d f d g, 结果应为“a”“b”

我定义了一个函数,如下所示

(defun myr (b a) (if (= CAAR(a) b) CDAR(a) 'nope myr(b CDR(a))));
像这样打电话

myr(b ((b a) (b c) (a d) (a f)))
但结果就像变量myr并没有值一样

这是我第一次用Lisp,所以只要告诉我应该搜索什么关键字,对我会有很大帮助

感谢您的阅读。

您确实需要从一本好的lisp书开始,例如,或。 你会为自己节省很多时间

Lisp语法不同于C。 在C语言中,你调用一个函数f,它的参数是:fx,y。 在Lisp中,您可以这样做:fxy

调用函数myr…,将符号myr放在变量位置,而不是函数位置,这会导致报告的错误

您还需要根据需要使用