首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >common-lisp:绑定和符号之间的区别

common-lisp:绑定和符号之间的区别
EN

Stack Overflow用户
提问于 2010-04-19 06:01:56
回答 2查看 1.3K关注 0票数 5

在普通lisp中设置绑定(LET)和符号(=变量)有什么区别(简单地说)?

EN

回答 2

Stack Overflow用户

发布于 2010-04-19 11:49:29

符号和变量是两种截然不同的实体。Symbol是某物的名称;variable是值的容器。变量可以用符号命名。

绑定是符号和变量之间的关联;当绑定生效时,您可以通过变量的名称来引用变量。let form创建了这样一个绑定。

票数 6
EN

Stack Overflow用户

发布于 2010-04-19 19:57:01

(let ((a 1)将a的值设置为1,直到到达与字母前的左方括号匹配的左方括号的点,此时a恢复到它以前的值(或变为未定义)。您经常在函数体中看到let,其中您需要局部变量,这些变量需要在函数结束时超出范围,因此您可以在那里使用let。

(setf A 1)将a设置为1,并假定a先前已定义(无论是通过defparameter、defvariable还是let),或者a是需要值的新特殊变量。

这有点复杂,但我不确定我是否有lisp的印章来解释。

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

https://stackoverflow.com/questions/2664152

复制
相关文章

相似问题

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