Common lisp学习笔记(6):绑定与赋值

《Successful Lisp》Chapter 3 - Essential Lisp in Twelve Lessons
Lesson 6 - Binding versus Assignment读书笔记.

绑定与赋值

绑定开辟新空间来储存值

绑定就是为某个值在内存中开辟一片新的空间,然后把这个值存储进去.这是实现变量的词法作用域的通用机制.不过不用担心效率问题,lisp有着垃圾回收机制,会自动回收无法被调用的绑定的内存.绑定总是有名字的,也就是符号与值成对.
常见的创建词法作用域的方法有let

(let ((a 1))
    (let ((a 2))
        (let ((a 3))
            ...)))

这种嵌套代码总是会回溯一个符号最近的绑定,对于第三次let中的代码而言,a的值为3.这就好比堆栈了一般.同一符号下的绑定会随着提供了绑定的词法形式的求值而渐渐被吐出来.

赋值会给一片存在的内存空间新的值

好比C语言中的赋值符 =
有setq与setf

(setq x 0)
-> 0

这样会改变x原有的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lockedkey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值