2009 4 21 01:53 AM 2017 次查看
分类:编程 标签:无
之前讨论动态语言时还提到过D语言不开源,没想到如今也以加入开源的队伍了。
Walter Bright在2009年3月5日下午18点40分(中国时间) 释放出了D1和D2的前端和后端的源代码,开源协议为GPL1.0或者Artistic license。
详细信息:D语言编译器DMD开源了!
2009 4 20 01:06 AM 2990 次查看
分类:Python 标签:Python
由于某些应用经常要限制列表的长度,所以就自己写了个类。
其实直接继承list更方便,不过我还是用包含来实现了,正好巩固一下内置操作。
私有成员我也没写2个下划线,需要的自己替换下就行了。
后面那一大段代码是单元测试,引入模块时可以删去。
2009 4 17 10:57 AM 1357 次查看
分类:JavaScript 标签:JavaScript
2009 4 13 01:53 AM 2825 次查看
分类:设计模式 标签:设计模式
很不敢相信QQ空间的文章居然会出现Google搜索的第一页,于是转了过来。
2009 4 12 07:47 PM 8163 次查看
分类:Python 标签:Python
2009 4 12 03:30 PM 4307 次查看
分类:Python 标签:Python
metaclass一般译作元类,它是一个类的类(型)。简单来说,元类的实例是一个类,而这个类的类就是元类了。
也就是说,相对于类可以在运行时动态构造对象而言,元类也可以在运行时动态生成类。
在C++等语言中,要得知一个对象的类是很麻烦的(MFC是用宏来实现的);而Python由于有自省功能,所以非常简单。
2009 4 12 12:08 PM 3570 次查看
分类:Python 标签:Python
Decorator模式一般被翻译成装饰模式,它主要是用于扩展已有的功能。
一般而言,扩展只需要继承即可。但因为继承是静态的,无法动态扩展,于是会有很大的局限性。
考虑一下Java的java.io.Reader类,它有很多子类,它们之间的组合如果都用继承来实现的话,我想会是超枯燥的。
所以当我们需要一个缓冲的文件读取器,我们不会去创建一个FileBufferedReader对象,而是像下面这样创建:
Reader reader = new BufferedReader(new FileReader(filename))
这样的好处就是,我们可以随意地动态组合这些功能,而不是为每种组合都创建一个类。
在静态语言里,要实现Decorator模式是很麻烦的,因为你可能需要定义3个类。
不过在Python这种动态语言里,你完全不需要定义类,因为函数本身就是可以扩展的。
2009 4 6 10:32 AM 1469 次查看
分类:Python 标签:Python
详细更新内容请看What's New in Python 3.1 alpha 2?。
看到有个自动填充数字的功能(以前要在大括号里写序号,不知道是否提供中途指定序号的功能):'{} {}'.format(1, 2) == '1 2'
其他没什么我关心的了,嘛,至少我觉得目前的2.6比3.x更出色。
2009 4 3 07:16 PM 2356 次查看
分类:Python 标签:Python
2009 4 2 02:24 PM 7132 次查看
分类:JavaScript 标签:JavaScript, jQuery
说到用JavaScript动态加载内容,一般都会想到AJAX。
但AJAX所用的XML其实并非必须,还有其他类型的数据结构(例如JSON和HTML)也可以实现。
而且AJAX有个很大的问题:由于JavaScript的安全限制,AJAX的跨域非常麻烦。
但如果使用JSONP的话,问题就很容易搞定了。
« 看看还有什么好玩意