
Lisp
文章平均质量分 70
grey_csdn
这个作者很懒,什么都没留下…
展开
-
1195_SICP学习笔记_抽象数据的多重表示
全部学习汇总:GitHub - GreyZhang/g_SICP: learn SICP and hack lisp. 为了能够让设计有一定的通用性,这里再次强调了抽象隔离。并且,为通用操作引入了一个“范式处理”的概念。而数据抽象以及分层设计的理念,在之前接触到的有理数的计算设计例子算是一个非常有代表的处理例程。 这里引入了一个新的典型问题:复数的表达。类似之前看过的有理数的表达,复数可以表示为两部分:实部和虚部。这样,实部和虚部分别通过一个坐标信息...原创 2022-03-27 21:31:00 · 521 阅读 · 0 评论 -
1194_SICP学习笔记_霍夫曼编码树
全部学习汇总:GitHub - GreyZhang/g_SICP: learn SICP and hack lisp. 编码主要还是为了表达现实的信息,第一种方式是是类似ASCII码的编码方式,第二种是类似莫尔斯码的编码。理解起来并不是很难,但是这个莫尔斯码从CS的角度来思考可能不是很容易解读。这里着色的部分其实是有一个对此种编码实现的可行性的一个增补解答,看到这里基本上就清楚了。同样的,为什么在电视剧中看到发电报的时候声音都是断断续续的,其实就是为了区分不同的编码信息。而霍夫曼...原创 2022-03-26 10:34:35 · 244 阅读 · 0 评论 -
1193_SICP学习笔记_集合的表达
全部学习汇总:https://github.com/GreyZhang/g_SICP 集合的处理有几种典型的操作方式,比如说求解并集、交集、判断元素是否属于结合以及给集合增加元素等。 这部分设计如果使用python的确是很容易实现的,都是一些已经实现的功能了。几段代码分析都比较容易。 元素归属判断,一个遍历循环即可。不过这里使用的还是一个递归模式。 组合,如果是子元素那么原来的集合就是组合的结果。否则,增加一个新的元素。 交集正好利用前面的...原创 2022-03-20 23:09:55 · 541 阅读 · 0 评论 -
1192_SICP学习笔记_符号化微分
全部学习汇总:GitHub - GreyZhang/g_SICP: learn SICP and hack lisp. 大概看了一下这个小结,相比之前的章节处理的确是有很大的变化。前面其实有过牛顿方法的一个设计,最初我还以为是一个类似的处理,现在看来其实是不同的。这一次实现的不是具体的数值计算,而是原始表达式的计算。而设计的过程跟之前的有理数的计算有很大的相似之处,运用了很多黑盒抽象。 微分的整个知识体系其实是复杂的,再这里先从一个简单的典型功能开始。而上面的简单的处理...原创 2022-03-15 21:35:41 · 984 阅读 · 0 评论 -
1191_SICP学习笔记_符号化数据之引用
全部学习汇总:GitHub - GreyZhang/g_SICP: learn SICP and hack lisp. 这里给出了一个命题引入的原因,之前处理的问题都是借助于数字来实现的抽象,而我们在实际的应用中还有非数据的时候。这也是这个章节出现的原因。 这个是符号化处理的说明以及例子。下面的这个注释说明其实是很重要的,对于这个引用符号的使用有一个具体的使用以及原理上进行了一个说明。 这是一个很通用的一个设计了,一个简单的递归思想的运用。...原创 2022-03-14 23:00:00 · 700 阅读 · 0 评论 -
1177_SICP学习笔记_嵌套映射
全部学习汇总:GitHub - GreyZhang/g_SICP: learn SICP and hack lisp. 这段信息读下来,开始有一点模糊。其实到了最后这一部分代码,理解突然间感觉容易了,也一下子似乎知道了这个思维模式应该怎么类比处理了。其实,这一段的代码处理,在实现方式上很像C语言中接触到的冒泡排序。而map以及accumulate等函数,实现的功能本质还是遍历处理。 基于上面的理解,把这段代码做一个详细的理解。首先,这个是一个对accumulat...原创 2022-02-22 22:09:58 · 254 阅读 · 0 评论 -
1176_SICP学习笔记_对序的通用接口处理
全部学习汇总:GitHub - GreyZhang/g_SICP: learn SICP and hack lisp. 这是对前面计算树的叶节点的代码结构的一个重用,理解起来还是很简单的:到了叶子的时候,进行一个奇偶判断,既然根据判断结果求平方。如果满足条件,返回平方,不满足则是0。通过一个递归的处理,进行所有节点的处理求和。 这个函数实现了构建前n个斐波那契数列的偶数构成的list。但是没有理解到原文想要表达的意图,这两个实现处理的对象完全不同,一个是一个树,另外一个...原创 2022-02-21 21:00:37 · 323 阅读 · 0 评论 -
1175_SICP学习笔记_map-列表元素的批量处理
全部学习汇总:GitHub - GreyZhang/g_SICP: learn SICP and hack lisp. 一个很有用的处理就是对列表元素的批量处理,比如,对元素进行一个因子的乘积。上面的代码设计师一个递归的设计,在理解设计上的确是一个很有效的设计方式。之前,我自己使用python的时候大部分的处理都是很基础的操作,使用这种批量处理模式的时候偏少。后面可以借鉴一下,这的确是可以让代码简化且更加容易理解维护。 如果利用高阶抽象,可以把这个过程抽象出来一个m...原创 2022-02-20 21:34:13 · 789 阅读 · 0 评论 -
1174_SICP学习笔记_层次结构
全部学习汇总:GitHub - GreyZhang/g_SICP: learn SICP and hack lisp. 其实,关于着色的这部分的理解是很容易的。尤其是,当我们的理解建立在前面分析了append实现之后。其实,一个list的元素扩充从前面扩充会比从后面扩充容易,可以避免nil的处理。而这,也让这个模型在理解上更加容易。cons函数的第一个元素,总会成为新的数据表中的第一个元素。 如果使用list来表达树的结构,那么求解这个树的节点有一个专用的函数。如果...原创 2022-02-19 16:55:39 · 410 阅读 · 0 评论 -
1170_SICP学习笔记_序列的表达
全部学习汇总:GitHub - GreyZhang/g_SICP: learn SICP and hack lisp. 这里首先引入了闭包的概念。什么事闭包呢?如果一个组合数据的操作依然可以用于这个组合数据组合出来的新组合数据,那么就说这个组合数据的操作满足闭包的属性。 在此之前,看过了cons的相关使用。如果用来组合1、2、3、4四个数据,可以采用上面的这种组合方式。但是Scheme中提供了另外一种更加简洁的方式,list。这是两个表达效果对等的设计。为此,做一个简单...原创 2022-02-17 21:57:05 · 326 阅读 · 0 评论 -
1169_SICP学习笔记_数据意味着什么
全部学习汇总:GitHub - GreyZhang/g_SICP: learn SICP and hack lisp. 顺着这个描述,用我们自己的话来描述什么数data其实也是容易的。data,数据,其实是一种关系的表达方式。 前面的例子之中,使用了cons、car以及cdr来实现数据的抽象表达。这个只是因为这三个正好是lisp的基础操作。其实,不使用这3个操作直接使用函数夜可能够定义出来类似的实现形式。 上面的代码是对cons、car以及cdr的一个实现。的...原创 2022-02-17 21:55:17 · 361 阅读 · 0 评论 -
1168_SICP学习笔记_数据抽象的分界界限
全部学习汇总:GitHub - GreyZhang/g_SICP: learn SICP and hack lisp. 这一个小标题的直接翻译应该是抽象的障碍,我看其他的资料翻译成了抽象的屏障,但是从表达概念来看可能是想要表达数据抽象的分界界限。 这是针对前面的有理数计算的例子给出的一个分层的图,其实简单理解一下,抽象界限的产生是为了摆脱之前的一些基础功能关系。 而这里给出了一个更加明确的描述:其实每一个抽象层的接口都是连接不同抽象层的接口。连接的方式自然也是...原创 2022-02-17 21:53:20 · 159 阅读 · 0 评论 -
1166_SICP学习笔记_有理数的算数运算
全部学习汇总:GitHub - GreyZhang/g_SICP: learn SICP and hack lisp. 本来想标记几个关键词出来,但是发现不是很好标记。这一段的描述意思其实还是很清晰的,前面章节中看过一个求解不动点的设计。最终的设计,转换方程其实是作为数据传入到了不动点的求解过程中。这样,整个设计其实是忽略了转换本身的具体细节,而是关注于他们的共同操作,也就是不动点的求解。类似的,数据的处理也可以做相应的区分。把数据本身的表达以及相应的处理进行拆分,这样的设计抽象就是...原创 2022-02-17 19:40:03 · 560 阅读 · 0 评论 -
1165_SICP学习笔记_使用数据进行抽象简介
全部学习汇总:GitHub - GreyZhang/g_SICP: learn SICP and hack lisp. 高阶抽象增强了语言本身的表达能力,是编程技术中心的精髓所在。 任何其他的编程语言中也同样重要的另一点:通过组合数据来形式复合数据来进行抽象。 不管是函数类的抽象还是数据类的抽象,我们的目标都是想提升概念的层次,增加语言的表达能力。 将程序中处理数据对象如何表示的部分与处理数据对象如何使用的部分隔离开来的一般技术是一种强大的设...原创 2022-02-17 19:38:04 · 274 阅读 · 0 评论 -
1164_SICP学习笔记_函数作为返回值
全部学习汇总: https://github.com/GreyZhang/g_SICP 这里引出来的这个函数定义其实是容易理解的,average-damp实现的功能是输入一个函数之后构建出来一个新的函数。新的函数接受一个传入参数,然后返回传入参数以及原始函数计算值的平均值。接下来利用这个功能来重新构建前面的平方根求解函数。 首先,看一下之前的平方根求解实现。fixed-point的第一个参数是一个函数,函数的功能是求输入参数以及x/y的平均值。这样,如果结合前面的aver...原创 2022-02-17 19:36:48 · 7555 阅读 · 0 评论 -
1163_SICP学习笔记_函数使用的一般方法
全部学习汇总: https://github.com/GreyZhang/g_SICP 这是半区间法寻找函数零点的方法介绍,比较容易理解。函数连续且取值范围内找到了两个一正一负的输入,那么零点在两个数值之间,通过不断逼近的方式能够找到一个近似零点。(define (search f neg-point pos-point) (let ((midpoint (average neg-point pos-point))) (if (close-enough? neg-p...原创 2022-02-17 19:33:49 · 310 阅读 · 0 评论 -
1162_SICP学习笔记_使用lambda构建函数
全部学习汇总: https://github.com/GreyZhang/g_SICP 理解这一段,先看看之前的函数实现。 上面这个函数就是之前的函数实现。这样对比之下,很容易理解这一章节中的一个替代写法。 第一个画出来的地方用来描述了函数定义的时候,lambda其实是define的一种语法糖。第二个画出来的地方用来解释lambda表达式究竟应该如何做解读。第三个之前是没有理解过的,这个仔细分析一下也容易明白其含义。其实这个表达式本身就等同于函数,因此可以与...原创 2022-02-16 22:32:24 · 331 阅读 · 0 评论 -
1160_SICP学习笔记_高阶抽象_函数作为参数
全部学习汇总: https://github.com/GreyZhang/g_SICP 我们自然是可以利用一堆的最基础的运算来表达我们的处理的对象,但是这样的话就有很多限制点。首先,我们没法脱离基础运算来思考一个算法实际本身,或者说进入不到更加合理的表达层级。另外一点,解决问题的过程会更加繁复。因此,很多编程语言其实都提供把一段代码绑定成一个函数的方法。这里的函数,procedures,其实就是处理的方式。 前面的学习内容中,采用了定义函数的抽象方式来让思考更加高层次一些...原创 2022-02-16 22:28:03 · 308 阅读 · 0 评论 -
1154_SICP学习笔记_素数求解
全部学习汇总: https://github.com/GreyZhang/g_SICP 素数是什么?素数是除了1和自身以外不能够被其他的数整除的数。因此,判断一个数是否是素数的时候,我们得看看这个数到底有多少个约数。因此,上面引入了第一个功能设计:寻找一个数的因数。 这里提出来的这个判断规则其实是很好理解的,因为找到的是最小的因子。如果这个最小因子大于平方根,肯定自乘或者与一个更大的因子相乘的结果大于原始的数字。这显然是不正确的,因此可以得出上面的结论。 与...原创 2022-02-16 21:54:21 · 308 阅读 · 0 评论 -
1153_SICP学习笔记_求取最大公约数
全部学习汇总: https://github.com/GreyZhang/g_SICP 看了一个开篇就有一种熟悉感,因为最大公约数的求取算法是我看TAOCP的时候的第一段介绍的。简单浏览一下就知道,两个算法其实是一致的。之前我还用python之类的做过类似算法实现的练习。 这里介绍的算法是辗转相除法。大概的原理是基于欧几里得的算法:a,b全都是正整数,如果r是a/b的余数。那么a和b的最大公约数等同于r和b的最大公约数。为了弄明白这个原理,还让我思考了一会儿,但是不是很难证明...原创 2022-02-16 21:50:19 · 165 阅读 · 0 评论 -
1146_SICP学习笔记_幂运算
全部学习汇总: https://github.com/GreyZhang/g_SICP 这是一个幂运算的求解,使用了递归的方式实现。按照我过去多年的经验,其实类似的求解我可能首先会想到一个迭代的算法。我觉得SICP一直在讲递归的算法是因为递归更加符合计算机的思维,很多推导的过程其实是计算机自己去完成的。而迭代计算,其实更多时候是在做一个过程的重复。 这是一个线性迭代的实现,其实看着也有自我调用的过程,但是这个跟前面求解前n个自然数的乘积的算法类似。从过程的存储的角度来思考...原创 2022-02-14 22:15:55 · 571 阅读 · 0 评论 -
1145_SICP学习笔记_算法增长的复杂度
全部学习汇总: https://github.com/GreyZhang/g_SICP 不知道如何翻译原来的章节标题,但是从内容来看应该是要引入算法复杂度增长的概念。在以往看到的书籍中,或许大家直接称之为算法复杂度的就是这个。 而这里的描述其实更加精准一些,总结来说是能够表征这个算法的资源占用情况与输入的关系的一种表述方式。 在描述算法的复杂度的时候,有一个给定的大小n不一定会是步数。比如,求解近似平方根的时候,这个n其实也可以定义为是平方根精度的位数。如果是计...原创 2022-02-13 20:55:08 · 534 阅读 · 0 评论 -
1143_SICP学习笔记_树递归
全部学习汇总:GitHub - GreyZhang/g_SICP: learn SICP and hack lisp. 树递归的一个典型的例子是斐波那契数列的求解,上面是一个简单定义规则说明。这个描述很容易通过代码实现转换成一个递归的函数,上面文档截图最后就是lisp的实现方式。 如果采用替换模型进行展开,这就是斐波那契数列的求解过程。从这里可以看出来,有一半的工作其实是重复的。从从代码本身的特点其实也能够多少分析出来,因为每一次递归都调用了两次函数。 这是...原创 2022-02-13 13:12:01 · 7496 阅读 · 0 评论 -
1142_SICP学习笔记_函数以及由函数创建的进程_线性递归以及迭代
全部学习汇总:GitHub - GreyZhang/g_SICP: learn SICP and hack lisp. 首先说,这个标题的命名来自于文本信息的翻译和调整。如果结合C语言来说,更加合适的叫法或者是子函数以及由子函数组合出来的功能函数。 这算是这个章节的开篇词了,不过里面有几个比较有意思的东西值得思考。比如,作为一个专业的程序员其实得有一个比较形象具体的思考能力。在迈向专业的过程中,必须学会如何应对不同的场景进行相应处理的形象、具体化的思维。我们需要通过这种子...原创 2022-02-12 23:42:59 · 482 阅读 · 0 评论 -
1141_SICP学习笔记_作为黑盒抽象的函数
全部学习汇总:GitHub - GreyZhang/g_SICP: learn SICP and hack lisp. 首先得注意到,前面求解平方根的重复过程其实是递归的过程。程序的设计依赖于自己本身的功能,在执行的过程中需要不断进行自欧文调用。其实,这种方式倒是让我觉得有那么一点反馈调节的意思。另外一点就是这个平方根的求解过程其实是一系列函数的组合,这个也与前面我自己想到的整体到局部的设计其实算是同样的描述。 这里有一个澄清说明还是很有参考的意义的,在设计前面的平方根求...原创 2022-02-12 22:29:13 · 538 阅读 · 0 评论 -
1140_SICP学习笔记_使用牛顿的方法求解平方根
全部学习汇总:GitHub - GreyZhang/g_SICP: learn SICP and hack lisp. 这里首先给出了一个中国学生至少都很容易理解的平方根的定义,写了一个lisp的伪代码。其实,总伪代码的描述来看这个也仅仅是描述了什么是平方根,但是并没有给出方法如何去求解平方根。 看到这里多少联想到了这一门课程的继承者,MIT的python课程公开课。教授在课程中也提到过这个概念,知识其实可以分成两类:一类关注点在于弄清楚是什么;而另一类则关注如如何是做某...原创 2022-02-12 22:03:33 · 947 阅读 · 0 评论 -
1139_SICP学习笔记_条件表达式与谓词
全部学习汇总:GitHub - GreyZhang/g_SICP: learn SICP and hack lisp. 这部分主要是SICP书籍中1.1.6章节的学习理解内容整理。 从这个例子可以看出cond表达式的基本用法。先不看具体的功能,单纯从形式上看很容易让人联想到C语言中的switch case结构。 这是对cond的语法以及功能的描述以及解释。 从功能描述看,其实这个处理过程是一个顺序处理的过程。直到遇到一个能够成功运行的分支之后退出,或者...原创 2022-02-11 22:08:37 · 699 阅读 · 0 评论 -
1138_SICP学习笔记_软件抽象以及lisp简介
全部学习汇总:GitHub - GreyZhang/g_SICP: learn SICP and hack lisp.这里介绍了3种思维的模式:1. 把多个简单的概念聚合成为一个复杂的概念;2. 把两个概念,无论是简单的还是复杂的,放在一起,把它们相互联系起来,使它们同时得到看法,而不把它们结合在一起,从而得到它所有的关系概念。3. 把它们与伴随它们的真实存在的一切其他的观念分开,这叫做抽象,因而它的一切一般的观念便形成了。这个,算是我第一次在软件的著作中明白了什么叫做抽象的一个参考原创 2022-02-10 23:01:45 · 348 阅读 · 0 评论 -
1136_SICP学习笔记_赋值与局部状态
1136_SICP学习笔记_赋值与局部状态Grey全部学习汇总:https://github.com/GreyZhang/g_SICP1136_SICP学习笔记_赋值与局部状态相关代码以及分析#lang sicp(define balance 100)(define (withdraw amount) (if (>= balance amount) (begin (set! balance (- balance amount)) bal...原创 2022-02-09 21:20:10 · 712 阅读 · 0 评论 -
1135_SICP学习笔记_重新认识斐波那契与高阶抽象
重新认识斐波那契与高阶抽象Grey全部学习汇总:https://github.com/GreyZhang/g_SICP重新认识斐波那契与高阶抽象摘录与思考这里其实在教材之中就对我一直好奇且有一些疑问的问题给定了性:递归方式实现斐波那契函数其实有很大的研究指导意义,但是在工程实践上其实不见得是一个很好的方法。这里面有太多的计算浪费,自然也就带来了很多资源消耗。 那么,我好奇的其实又有了一点:递归思想的应用在什么情况下可以在工程之中使用?如果可以应用,应该满足什么样的条件?在我的嵌入式原创 2022-02-09 21:08:47 · 559 阅读 · 0 评论 -
1134_SICP学习笔记_平方根求解以及递归思想
SICP学习笔记_平方根求解以及递归思想Grey全部学习汇总:GitHub - GreyZhang/g_SICP: learn SICP and hack lisp.SICP学习笔记_平方根求解以及递归思想代码分析这部分类似的课程之前看过了,接下来我直接分析代码让后从中提取一下知识点。#lang sicp(define (average x y) (/ (+ x y) 2))(define (square x) (* x x))(define (sqrt x) (s...原创 2022-02-08 22:02:17 · 858 阅读 · 0 评论 -
1133_SICP开发环境搭建
SICP开发环境搭建Grey全部学习汇总:https://github.com/GreyZhang/g_SICPSICP开发环境搭建尝试过程无论开始什么编程语言的学习,先找到一个基础的开发环境还是很重要的。关于SICP的学习,我做了几个常识最终选择DRRacket作为我的开发环境。我首先尝试的是MIT网站上附加的一个EXE程序,从描述看支持的其实是比较老的windows系统。而且,程序是32位的。我做了安装尝试,结果一直因为兼容问题安装失败。想过是不是采用虚拟机解决一下,但是又觉得这个原创 2022-02-08 20:01:40 · 1020 阅读 · 0 评论 -
1132_SICP学习笔记_lisp基础
SICP学习笔记_lisp基础Grey全部学习汇总:https://github.com/GreyZhang/SICP-learningSICP学习笔记_lisp基础我是因为想了解lisp才接触的SICP,现在看完开篇之后为了了解SICP来接触lisp。我大学的时候本来课程学得就水,再加上接触的课程其实很少有类似方法论的东西,即便是有一点点我基本上也是没有吸收掉。现在,已经成为职场的老油条之后反过来学习这样的基础课程,想来多少还是有些讽刺的。摘录与批注一门语言能够成为解决问题的有原创 2022-02-07 22:59:37 · 457 阅读 · 0 评论 -
511_spacemacs跳转到任意2字符的位置
全部学习汇总: https://github.com/GreyZhang/editors_skills 之前,在spacemacs的配置中找到了一个非常好用的功能:跳转到屏幕上的任意字符。具体的效果如下: 这是我在配置文件中尝试跳转到字符a,但是,这个功能有时候会有一个问题,也就是这里遇到的问题:候选项太多,目标选择也有点麻烦。其实我自己本来的意图是想跳转到294行的lkd的位置。 后来,我在使用陈斌的配置的时候发现他里面有一...原创 2021-02-08 23:24:11 · 284 阅读 · 0 评论 -
458_emacs projectile中使用etags
全部学习汇总: https://github.com/GreyZhang/J1939_basic 在J1939的协议栈中存在一个队列的收发机制,其中接收队列的实现之前在做ISR的部分代码分析的时候已经看过接口上的交互。对于这个队列实现,其实应该有一个具体的实现机制。 关于队列的机制,在学习数据结构的时候接触过队列的实现,这个基本上是基于链表来实现的。但是,链表的实现是需要基于内存的动态分配来实现的。在嵌入式系统中,尤其是涉及到高实时性和可靠性相关的系...原创 2020-11-20 20:01:18 · 398 阅读 · 0 评论 -
424_emacs lisp中list以及vector的map操作
全部学习汇总: https://github.com/GreyZhang/g_lisp 学习小结一下map功能,其实我觉得这是一种算是更加简洁的循环。但是,与循环方式相比这明显是一种不同的处理思想。 以下是我的一部分测试: 接下来,针对每个测试做一下解释。第1行,把vector中的每一个元素增加1,其中1+是emacs lisp中的一个函数; 第4行,这个操作是失败的,这里我又犯了一个错误。这里,我应该使用的是一个lis...原创 2020-10-14 07:38:14 · 380 阅读 · 0 评论 -
421_emacs lisp xah-find插件使用初步
全部的学习汇总: https://github.com/GreyZhang 今天简单学习一下xah-find这个插件。这个插件主要的设计目标是用来替代find、grep或者sed等功能。后面这些命令虽然是非常常规的命令,但是,在BSD、Linux以及Windows上可能会存在很多兼容性问题。而这个插件,则解决了上述问题。 插件的链接主页:https://github.com/xahlee/xah-find 可以手动安装,也可以通过...原创 2020-10-11 09:10:32 · 416 阅读 · 0 评论 -
420_emas lisp lisp小结
全部学习汇总: https://github.com/GreyZhang/g_lisp 总觉得一个list的用法,让我看到了太多lisp的特色。我学习主要还是服务于我的emacs hack,今天的小结针对emacs lisp。 先做一部分测试,然后逐个进行分析:第1行,创建列表并且赋值给变量;第4行,创建列表,且不想元素被求值;第7行,利用变量创建列表;第10行,这个类似前面刚刚小结过的vector的创建,创建指定大小的list并...原创 2020-10-10 20:37:24 · 315 阅读 · 0 评论 -
419_emacs lisp vector小结
全部学习汇总: https://github.com/GreyZhang/g_lisp 再次小结一下emacs lisp中的vector基础,这次参考的教程还是李杀的。这里,简单写一下自己学习测试时候的笔记。 先做一部分测试,后面逐个分析: 第1行,创建vector且为每个元素指定初始值; 第3行,创建vector,且给定每个元素的值; 第7行,创建vector,并且利用变量给元素初始值...原创 2020-10-09 21:05:44 · 313 阅读 · 0 评论 -
418_emacs lisp“布尔量”判断
全部的学习汇总: https://github.com/GreyZhang/g_lisp 标题中的布尔量加了引号,为什么呢?因为,emacs lisp中其实是没有布尔量这个类型的。感觉lisp语言学习的时候一直没有找到一个合适的路径,动不动就半途而废。后来,干脆不对此抱什么愿望了,能够零零散散学点东西也可以。 今天再次复习下布尔量,我也不知道是否是复习,都已经忘记了是否学习过了。 Emacs lisp中没有布尔量,只需要记住nil...原创 2020-10-08 09:50:16 · 386 阅读 · 1 评论