-
clojure专题
收藏目前iteye专栏里还没有clojure相关的资料。 由于clojure的活跃度确实很低,所以就没有继续写下去了。
最近更新文章
clojure-基本语法-集合(三)
操作集合的通用语句
1、count:
count函数返回集合中元素的个数,如果count参数为nil,则返回0
user=> (count nil)
0
user=> (count [])
0
user=> (count [1 2 3])
3
user=> (count '(1 "a"))
2
user=> (count {:on ...
clojure-基本语法-集合(二)
三、映射Map
Map存储一个键-值对的集合。键和值都可以是任何数据类型的对象,无论是基本数据类型还是其它映射。然而,使用关键字来作为映射的键非常合适,因此它们经常在应用映射的场合被使用。clojure的Map有三种实现方式:数组映射、哈希映射和有序映射。它们分别使用数组、哈希表和二叉树来作为底层实现。数组映射适用于较小的映射,而对哈希映射和有序映射的比较则要基于特定应用场合的情况。Map形式以“{ ...
clojure-基本语法-集合(一)
Clojure提供以下集合类型: list, vector, set, map。并且可以使用Java里面提供的集合类型。所有的clojure集合是不可修改的、异源的以及持久的。不可修改表示集 ...
clojure-基本语法-符号及关键字
一、创建:
Keyword:
关键字是一个内部字符串; 两个同样的关键字指向同一个对象; 通常被用来作为map的key。
user=> (keyword 'foo)
:foo
user=> (keyword "foo")
:foo
user=> (keyword "user" "foo")
:user/foo ...
clojure-基本语法-流程控制(二)
二、异常处理
Clojure代码里面抛出来的异常都是运行时异常。当然从Clojure代码里面调用的java代码还是可能抛出那种需要检查的异常的。try,catch,finally 以及throw 提供了和java里面类似的功能:
try、catch、throw、finally:
user=> (try (throw (Exception. "error")) (fina ...
clojure-基本语法-流程控制(一)
一、标准的流程控制
if:
将一个判断表达式作为它的第一个参数进行求值。如果求值为true,那么就返回它的第二个参数(相当于“then”子句)的求值结果。如果结果为false(包括nil)就返回第三个参数的求值结果(相当于“else”子句),前提是有提供第三个参数并且不为空。
user=> (defn is-small [number] (if (< number 100) &quo ...
clojure-基本语法-函数定义
一、创建函数:
fn:
fn是一个宏(后面进行详细描述),用于定义一个简单的函数,如下:
user=> (fn [] "hello")
#<user$eval375$fn__376 user$eval375$fn__376@eabd2f>
user=> ((fn [] "hello"))
"hello"
...
clojure-基本语法-正则表达式
一、创建正则表达式
re-pattern函数:
函数 (re-pattern) 接受一个字符串参数,返回一个正则表达式样式(java.util.regex.Pattern类的实例)。这个样式能用于正则表达式匹配
user=> (re-pattern "\\d+")
#"\d+"
也可以使用读取宏来直接用文本的方式输入正则表达式:在字符串前 ...
clojure-基本语法-字符串类型
一、创建
函数str:
函数 (str) 接受任意数量的参数。如果参数不是字符串则将其转换为字符串,返回创建的新字符串。如果没有参数或为nil,则返回空字符串,""。
user=> (str 1)
"1"
user=> (str -2.5)
"-2.5"
user=> (str "a")
...
clojure-基本语法-数字类型
一、算术运算
加法+:
加法函数(+)接受任意数值类型的参数,返回它们的和;没有参数时返回0。
user=> (+)
0
user=> (+ 1)
1
user=> (+ 1 2 3 4)
10
减法-:
减法函数(-)接受任意数值类型的参数。如果只有一个参数,则返回它相反的数。当有多个参数时,返回第一个参数减去后面所有参数的结果。
user=> ( ...
clojure-运行环境安装
一、clojure下载及安装
官方的入门指南:
http://clojure.org/getting_started
下载clojure:
(注:由于clojure运行在jvm之上,并且需要jdk1.5以上的版本)
稳定版下载地址(1.5):
http://repo1.maven.org/maven2/org/clojure/clojure/1.5.0/clojure-1.5.0.zip
低版本下 ...