Chinaunix首页 | 论坛 | 博客
  • 博客访问: 687356
  • 博文数量: 156
  • 博客积分: 3402
  • 博客等级: 中校
  • 技术积分: 1639
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-13 14:06
个人简介

业余编程爱好者

文章分类

全部博文(156)

文章存档

2014年(1)

2013年(13)

2012年(46)

2011年(38)

2010年(58)

发布时间:2013-03-06 16:35:18

目前《SICP》第三章的学习正在如火如荼的进行中,有点小感悟,总结如下:
?
第三章第一小节,主要介绍了使用对象化的方法来编程。之前两章中,我们将符号看做是一个名字,指代值或者过程的一个名字。通过第一章介绍的代换模型,总可以把一个过程代换成一系列基本的运算符号。这种也就是所谓的函数式编程,给定固定的输入,获得固定的输出,不会有改变。第三章中引进了赋值操作set!,这个运算符可以改变某个符号的值。这样代换模型就没法很好的解释程序行为了。这里我们不能把符号只看做一个名字,而必须看做是一个对象,拥有自己的值并存放在某处。通过赋值运算符,可以改变符号的值。在不同的情况下,求值同样的过程,可能有不同的解。其实说白了,就是scheme在这里引进了局部变量。......【阅读全文】

阅读(3317) | 评论(0) | 转发(0)

发布时间:2013-03-06 13:53:45

闲来无聊,用scheme写了个汉诺塔游戏,其实就是把我以前用C语言写的汉诺塔翻译成scheme。因为才学习到scheme如何实现堆栈操作,于是就用汉诺塔游戏来练练手。
?
?本来想把这个游戏写完整了,可以通过键盘操作来玩。但后面的部分其实就是C语言翻译过来的,用scheme写没有什么特别的优势。目前这个游戏还是个雏形,等有时间时实现完整。......【阅读全文】

阅读(3412) | 评论(0) | 转发(0)

发布时间:2013-02-26 19:36:24

今天,我完成了汉诺塔游戏终极版。使用一个脚本来输出汉诺塔自动运行的步骤,再通过管道提供给汉诺塔游戏,实现了自动完成汉诺塔。......【阅读全文】

阅读(3169) | 评论(0) | 转发(0)

发布时间:2013-02-18 15:13:58

《SICP》第二章的学习,断断续续持续了有大半个月了,今天我要结束第二章的学习,计划进入第三章。下面趁自己还没完全忘光,小结下第二章学习:

这章主要讲了如何将数据组合起来,形成复合数据。通过序对和列表这种基本数据结构来保存数据,使用一系列的过程来构造复杂的复合数据。在构造复合数据的过程中,要经过良好的设计,将底层实现的细节有效的屏蔽起来。使得在操作复合数据时,不必关系每种复合数据内部的细节。......【阅读全文】

阅读(2400) | 评论(0) | 转发(0)

发布时间:2013-01-24 13:54:05

《SICP》2.1.3节讲述了数据的本质。文中用过程构造数据,从而抛出了数据到底是什么的问题。整理下有趣的思想:
“一般而言,我们总可以将数据定义为一组适当的选择函数和构造函数,以及为使这些过程成为一套合法表示,它们就必须满足一套特定的条件。”
这意味着什么?lisp系统中的复合数据,可以通过一组构造函数描述如何将“基本数据”粘合在一起而形成。通过一组选择函数来实现提取组成这种复合数据的“基本数据”。这里并没有提到必须要有一种数据结构来存放这种复合数据,也就是可以不用数据结构,而只用函数来实现这种复合数据。......【阅读全文】

阅读(2110) | 评论(2) | 转发(0)

发布时间:2013-01-23 13:23:01

今天结束了第一章的学习,lisp开始初步展现出魔法。
将过程(也就是函数)作为第一级元素,给了lisp强大的表达力。
过程可以用变量命名,可以给过程做参数,可以作为过程的返回值。
我看到,lisp代码几乎是数学公式的精确定义。
第一章主要是讲的过程的抽象,如何将算法精准的编程。
我大开了眼界,这是在其他编程语言中没法体会到的神奇。
第二章将主要讲数据的抽象,希望继续好好学习,好好掌握。......【阅读全文】

阅读(2269) | 评论(0) | 转发(0)
给主人留下些什么吧!~~

chinaunix网友2010-09-13 20:12

很好~~~

回复 |  删除 |  举报
留言热议
请登录后留言。

登录 注册