首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >clisp:变量没有值

clisp:变量没有值
EN

Stack Overflow用户
提问于 2019-05-19 20:51:16
回答 1查看 1.8K关注 0票数 0

我想让用户程序提取具有元素b (由参数给定)作为列表中的对的元素a

例如,如果我给c作为参数并列出((c a) (c b) (d f) (d g)),那么结果应该是'a' 'b'

所以我定义一个函数如下,

代码语言:javascript
复制
(defun myr (b a) (if (= CAAR(a) b) CDAR(a) 'nope myr(b CDR(a))));

像这样打电话

代码语言:javascript
复制
myr(b ((b a) (b c) (a d) (a f)))

但结果就像variable myr has no value

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

感谢您的阅读。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-19 23:07:10

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

Lisp语法与C不同。在C中,您可以使用参数хy调用函数f,如下所示:f(x,y)。在Lisp语言中,你可以这样做:(f x y)

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

您还需要适当地使用quote

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56208001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档