本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
fantaxy025025 - johnsmith9th
- xiangjie88
- zysnba
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- jickcai
- gengyun12
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sam123456gz
- sichunli_030
- arpenker
- tanling8334
- gaojingsong
- kaizi1992
- xpenxpen
- 龙儿筝
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- luxurioust
- lemonhandsome
- mengjichen
- jbosscn
- zxq_2017
- lzyfn123
- nychen2000
- forestqqqq
- wjianwei666
- ajinn
- zhanjia
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- mwhgJava
- kingwell.leng
最新文章列表
clojure defn的参数解构
In Clojure 1.2, you can destructure the rest argument just like you would destructure a map. This means you can do named non-positional keyword arguments. Here is an example:
user> (defn blah [ ...
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-基本语法-符号及关键字
一、创建:
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-学习资料汇总
官方文档:
http://clojure.org/documentation
中文资料(强烈推荐):
1.clojure入门教程
http://xumingming.sinaapp.com/302/clojure-functional-programming-for-the-jvm-clojure-tutorial/
2.clojure文档翻译
http://code.google.com/p/c ...
clojure collections
user=> (class '(1 2 3))
clojure.lang.PersistentList
user=> (class [1 2 3])
clojure.lang.PersistentVector
user=> (class #{:the :brown :fox})
clojure.lang.PersistentHashSet
user=> (clas ...
Clojure Dev. on Eclipse
原创,转载请注明。
本文关注怎样在eclipse上搭建基本的Clojure开发环境。本文读者需要有Java的开发经验和eclipse的使用经验,最好有Maven使用经验。
1. 基础概念
1.1. Clojure
Clojure 是以JVM为基础平台的 Lisp 方言,属于现代的函数式语言。关于Clojure本身可以访问其官网(http://clojure.org ...
clojure的文件IO处理的持续优化
、需求,把文本文件r.txt的内容处理(每行前边加hello 后边加!),然后写入w.txt
2、实现1:
(defn read-file []
(with-open [rdr (clojure.java.io/reader "f:/r.txt")]
(doall
(map #(str "hello" ...
Clojure细节之form和special form的区别
前言
在lisp程序员看来,form和special form的区别是一目了然而且无需解释的--因为这两个
概念本身就源自lisp.但对于指令式语言的开发人员而言,当他们进入clojure的世界中,会不
断看到和听到这两个名词,然后会把special form理解为某种关键字或者是宏之类的东西.
这样的理解实际上是有一定偏差的.
form
首先让我们来看看Clojure中 ...
window 下安装配置Clojure的Emacs开发环境
安装步骤和方式参看巫云的教程
64位window7下配置Clojure+Emacs开发环境
http://www.cnblogs.com/darkluck99/archive/2012/02/20/2360216.html
我这里做一下安装补充,避免大家走弯路:
1、xp下的Emacs配置目录是在C:\Documents and Settings\你的当前用户名\Application Data, ...
clojure第二次聚会
此次聚会,各地都有来的。感觉真是有幸。收获非常大。并且面对面见庄晓丹,江宏等等高手们的谈论。加强了继续搞clojure的信心。
在clojure论坛上提到的问题,老外也给我了hint,做了回答。建议很中肯。我就应该一步一步来,先把clojure的doc文档网站上的core都敲打一遍,然后,学习孙宁的RPC框架,空闲时做4clojure的问题。