clisp:变量没有值
我想制作一个用户程序,它提取元素a,元素b由参数给出,作为列表中的一对 比如,如果我给c作为参数,列出c a c b d f d g, 结果应为“a”“b” 我定义了一个函数,如下所示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,所以只要告诉我应该搜索什么关键字,对我会
(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放在变量位置,而不是函数位置,这会导致报告的错误
您还需要根据需要使用