接以前的
Y组合子。这篇帖子大致基于
Good Math Bad Math的
文章,穿插点花边。强烈推荐原文。
说SKI组合子前,不能不谈去年红得发紫的
Ruby On Rails。Rails里一大模块是
ActiveSupport。该模块实现了很多帮助函数,大幅降低了Rails框架的编程强度。有兴趣地话不妨读一下它的源代码。当然,拜Ruby强大的meta-programming支持所赐,
ActiveSupport里函数赏心悦目的程度,远远不是Java一个*Helper.java或者*Utils.java能比的。咳,咳,不好意思,一不小心就开始鄙视Java了。另外一个帮助函数库是
Ruby Facets,非常有用。Rails和SKI有乜关系呢?嗯,本来没有,可DHH和一位叫Mikael Brockman的老大聊过以后,于2005年3月在ActiveSupport里
加入了一段代码。于是就
发生关系老:
我们常常需要创建一个对象。比如说Person,一个Person对象有绰号,有电话号码。一般我们会用这样的工厂方法:
01: def create_person
<