SICP回顾:cons函数、使用过程定义数据结构(下)
接着写上一篇的内容,我打算实现三个基本函数cons、car、cdr,尝试了几种方法都没能很好的实现,并且前两种方法在后来的测试中发现都有问题(第二种方法在嵌套使用的时候仍然有bug)。我逛了一圈github,发现有一位老哥已经用python实现了SICP的大部分习题,htt...
It all returns to nothing.
接着写上一篇的内容,我打算实现三个基本函数cons、car、cdr,尝试了几种方法都没能很好的实现,并且前两种方法在后来的测试中发现都有问题(第二种方法在嵌套使用的时候仍然有bug)。我逛了一圈github,发现有一位老哥已经用python实现了SICP的大部分习题,htt...
最近在使用python完成SICP2.2部分的一些经典例题,因为在我看来使用不同的语言来完成一件相同的事情能够加深印象和理解。用python实现例题的部分也会再写成一篇文章,但是这里遇到了一些问题,需要先记录一下。 首先是我对2.2节的感悟:构造一个复杂的东西,是需要许多模块进行组合的。这些模块也可以进行拆分,但是拆分到最底层的某些部分,这些部分的构造一定是简单又正确的。(看上去是一句废话,但是要把一个东西构造成简单但是又正确的,还是比较困难的一件事情) 2.2节的最简单又正确的构造就是三个基本的函数cons、car...
这篇文章记录如何不使用IDE,使用javac进行编译。 单文件编译最简单的例子就是HelloWorld程序了,直接给出代码。 12
今天我开始构造lox语言了,lox也就是crafting interpreters这本书实现的一个语言,原书是使用java语言实现的。 代码仓库:https://github.com/emp1dAo/code-of-crafting-interpreters/tree/master/jlox 因为我java很菜,所以马上就遇到了一个问题,这里记录一下问题以及解决方案。
首先来介绍一下什么是opml文件。 了解到这种文件主要是因为eaf-rss-reader的一个issue。一般来说像feedly,Inoreader这种的rss-reader是提供了引入/导出opml文件的功能的。opml文件将你的feed链接都收集到一个文件里,方便将所有的feed订阅转移到其他的阅读器上。 opml文件其实就是一个xml文件,使用能够解析xml文件的一些库就能将它解析了。但是比较怪的是,feedly网站上居然无法解析由Inoreader生成的xml文件… 对python来说,解析xml通常会用xml库或者lxm...
这篇文章是sicp2.2节内容的笔记,主要记录一下里面提到的scale-tree这个函数。 ```(scale-tree tree factor)```以一棵树和一个因子作为参数,将树上的所有节点的值都乘上因子。 首先提供了一个朴素版本的scale-tree,就是递归左右子树,检查当前节点是否属于叶子节点。如果是,那么就乘上因子;如果不是,那么就继续左右递归。 1
我的y7000上装了三个操作系统,win10,ubuntu,arch。其中win10和ubuntu都跑了俩年了都没挂。前几个星期不小心把arch滚挂了,就没再去理她,反正还有一个ubuntu可以用。然后前几天给ubuntu换桌面启动器的时候一不小心把它也整挂了,各种调试都不行(主要是我菜),于是就打算直接重装一个arch吧,只是重装系统,文件数据都还是有保留的。 这一篇只会记录一些我在装arch的时候查询的网站和一些注意事项,不会详细讲怎么装,毕竟网上已经有这么多教程了。