![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
原创
文章平均质量分 84
iteye_5482
这个作者很懒,什么都没留下…
展开
-
clojure的冒泡排序实现
冒泡排序的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数...2011-12-08 17:11:48 · 171 阅读 · 0 评论 -
clojure API学习(3) 字符和字符串操作
注:本文基于jdk1.6,clojure1.2字符串连接str 严格来说,str并非仅用于连接字符串,实际上针对任何对象,它都能获取到对象的toString()并进行连接。 这样说起来有些费解,看看实际的例子就明了了:user> (str "a" \b :c)"ab:c"user> (import '(java.util Date))java.u...2011-12-16 00:08:13 · 712 阅读 · 0 评论 -
Clojure和JAVA设计模式(1) 工厂模式之简单工厂
序 在java中,设计模式是多态和封装的重要表现形式,采用设计模式能够极大地提升可维护性和可扩展性,那么,同样工作在jvm上面的Clojure能否运用这些模式,或者说是否同样需要这些模式呢? 注:本文基于jdk1.6和Clojure1.2简单工厂 先看看简单工厂的java代码: 首先定义产品的接口:public interface IPr...原创 2011-11-12 15:24:30 · 153 阅读 · 0 评论 -
在eclipse上面搭建Clojure开发运行环境
首先,需要下载并安装一个用于java开发的eclipse。链接地址:eclipse下载 然后,将eclipse解压到自定义的路径,比如:d:\eclipse。 下面就有两种方法安装Clojure的eclipse插件Counterclockwise: 打开eclipse,点击菜单栏“help->Install New Soft...原创 2011-11-15 13:30:10 · 255 阅读 · 0 评论 -
Clojure和JAVA设计模式(2) 工厂模式之工厂方法
注:本文基于jdk1.6和Clojure1.2 工厂方法 工厂方法模式定义了一个创建对象的接口,由子类来决定实例化哪一个类,意即将实例化推迟到子类。 当然,这个说法本身是干巴巴概念性的。让我们针对上篇简单工厂的例子考虑一下,我们在SimpleFactory中已经定义了产生IProduct实例的方法,这是在调用之前就定好了产生IProduct...2011-11-15 15:05:52 · 95 阅读 · 0 评论 -
Clojure与java设计模式(3) 策略模式
注:本文基于jdk1.6和Clojure1.2策略模式 策略模式是指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。比如每个人都要“交个人所得税”,但是“在美国交个人所得税”和“在中国交个人所得税”就有不同的算税方法。(维基百科) 在面向对象语言中,这可能是最常见的模式,可能很多人在听说过这个算法之前就已经使用过它了。 首先,我们...2011-11-16 15:45:25 · 136 阅读 · 0 评论 -
clojure API学习(1) 数学运算
附注:本文基于jdk1.6,clojure1.2数学运算 让我们通过学习clojure的API来一步步了解它,首先是最简单的数学运算。加法+ API中对加法函数的描述是:clojure.core/+([] [x] [x y] [x y & more]) Returns the sum of nums. (+) returns 0. ...2011-11-24 22:32:11 · 485 阅读 · 0 评论 -
clojure API学习(2) 比较操作
注:本文基于jdk1.6,clojure1.2比较操作等于= clojure中的等于和java中的equals方法类似,但是clojure中的=还能够作用于nil、数字和集合上面。看看例子:user> (= 3)trueuser> (= 5 5)trueuser> (= "a" "a")trueuser> (= '(7 8.0 ...2011-11-26 08:59:20 · 192 阅读 · 0 评论