- 博客(5)
- 资源 (6)
- 收藏
- 关注
翻译 Lisp.超类(Superclasses)
defclass的第二个参数是一个超类的列表。一个类会继承它的所有超类的槽的并集。所以,如果我们想要定义一个screen-circle类,并且它是circle和graphic的子类,[2]> (defclass graphic () ((color :accessor graphic-color :initarg :color) (visible :accessor graphic-
2012-11-29 13:31:30 1782
翻译 Lisp.槽属性(Slot Properties)
defclass的第三个参数必须是一个槽定义的列表。最简单的槽定义,就像前一篇文章所看到的,就是一个标识名字的符号(symbol)。通常情况下,一个槽可以定义为一个列表,这个列表是由名字,和它所带有的一个或多个属性组成。属性以关键字参数的形式给出。通过定义一个槽的 :accessor ,我们就隐式地创建了一个引用那个槽的函数,这样就无需调用slot-value了。如果我们把circle
2012-11-28 11:08:45 1667
翻译 Lisp.类与实例(Classes and Instances)
我们需要两个步骤来创建结构(structures):首先调用defstruct来规划出结构的形式,然后使用类似make-point的函数来创建它们。创建实例也需要类似的两步。首先我们使用defclass定义一个类:(defclass circle () (radius center))这个定义是说circle的每个实例将会有两个槽(slots,就像结构中的字段-field),分别叫
2012-11-27 11:19:19 1726
原创 一个数据应用闭环
收集:各种开源的分布式日志收集系统:Scribe, Flume等等存储可以同时包含各种不同的存储类型,可根据不同的需求增减相应的存储类型:底层存储:能够存储大量的数据,最好具有可扩展性 HDFS S3等等关系存储:MySQL,Postgresql等等键值存储:HBase,Redis等等计算计算能力也应该同时包含集中不同的类型,可根据不同的需求增减相应
2012-11-14 18:17:24 2035
翻译 Lisp.使用递归(Using Recursion)
相比于其它语言,在Lisp中递归扮演着更加重要的角色。这其中可能有三个主要的原因:1. 函数式编程。递归算法引入副作用的可能性看上去比较小。2. 递归数据结构。Lisp的隐式指针使得创建递归定义的数据结构变得简单。最普遍的就是列表:一个列表或者是nil,或者是一个cdr为列表的cons。3. 优雅。Lisp程序员非常关心他们的程序是否漂亮,而递归算法通常比它们的迭代版本更加优雅。...
2012-11-05 14:31:04 2848
ASGI 3.0规范中文版.pdf
2019-12-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人