摘要: <实用Common.Lisp编程> 第8章 如何自定义宏1.宏的展开期和运行期 理解宏的关键在于必须清楚地知道那些生成代码的代码(宏)和那些最终构成程序的代码(所有其他内容)之间的区别。当编写宏时,你是在编写那些将被编译器用来生成代码并随后编译的程序。只有当所有的宏都被完全展开并且产生的代码被编译后,程序才可以实际运行。宏运行的时期被称为宏展开期(macro expansion time),这和运行期(runtime)是不同的,后者是正常的代码(包括那些有宏生成的代码)实际运行的阶段。 牢记这一区别很重要,因为运行在宏展开期的代码与那些运行在运行期的代码相比,它们的运行环境不同。也 阅读全文
posted @ 2013-03-17 11:09 登山者 阅读(299) 评论(0) 推荐(0) 编辑
摘要: <实用Common.Lisp编程> 第22章 高阶loop1.loop的组成部分 你可以在一个loop中做下列事情:以数值或多种数据结构为步长来做循环;在循环的过程中收集、计数、求和以及求最大值或最小值;执行任意Lisp表达式;决定何时终止循环;条件执行上述内容。 另外,loop还提供了用于下列事务的语法:创建用于循环内部的变量;指定任意Lisp表达式在循环开始前和结束后运行。2.迭代控制 大多数所谓的迭代控制子句都以循环关键字for或是它的同义词as开始,后接一个变量的名字。变量名后面的内容取决于for子句的类型。 1.计数型循环 (loop for i upto 10 co.. 阅读全文
posted @ 2013-03-17 11:07 登山者 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 使用ubuntu系统,工具选择为firefox的插件 scribefire next 和blogilo。1.scribefire nextscribefire next的配置和使用比较简单。 a.进入插件地址 https://addons.mozilla.org/en-US/firefox/addon/scribefire-next/ b.安装好后打开scribefire next , 点击“添加新博客", 在URL中添加博客地址, 格式是 http://用户名称.cnblogs.com/,点下一步,接着输入用户名和密码就要OK了。 c.接下来就可以写博客了。 优点是支持markdo 阅读全文
posted @ 2013-03-17 10:56 登山者 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 《设计模式:可复用面向对象软件的基础》第三章 创建型模式一、 ABSTRACT FACTORY (抽象工厂)1.意图提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。2.适用情况一个系统要独立于它的产品的创建、组合和表示时。一个系统要有多个产品系列中的一个来配置时。当你要强调一系列相关的产品对象的设计以便进行联合使用时。当你提供一个产品类库,而只想显示它们的接口而不是实现时。3.结构4.优缺点1)它分离了具体的类 Abstract Factory模式帮助你控制一个应用创建的对象的类。因为一个工厂封装创建产品对象的责任和过程,它将客户与类的实现分离。客户通过它们的抽象接口操作实 阅读全文
posted @ 2013-03-17 10:51 登山者 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 《设计模式:可复用面向对象软件的基础》第四章 结构型模式一、ADAPTER(适配器)1.意图将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。2.适用情况你想使用一个已经存在的类,而它的接口不符合你的需求。你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。(仅适用于对象Adapter)你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。3.结构4.相关模式模式Bridge的结构与对象适配器类似,但是Bridge模式的 阅读全文
posted @ 2013-03-17 10:50 登山者 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 《设计模式:可复用面向对象软件的基础》第五章 行为模式一、CHAIN OF RESPONSIBILITY(职责链)1.意图使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。2.适用情况有多个的对象可以处理一个请求,哪个对象处理该请求运行时刻自动确定。你想在不明确指定接收者的情况下,想多个对象中的一个提交一个请求。可处理一个请求的对象集合应被动态指定。3.结构4.相关模式职责链常与Composite一起使用。这种情况下,一个构件的父构件可作为它的后继。二、COMMAND(命令)1.意图将一个请求封装为一 阅读全文
posted @ 2013-03-17 10:49 登山者 阅读(364) 评论(0) 推荐(0) 编辑