Clojure语言十一:map函数
来源:互联网 发布:羊毛 起球 知乎 编辑:程序博客网 时间:2024/05/16 09:57
map函数比较特别,首先看一个简单的功能:
user=> (def f (fn [x] (+ 2 x)))#'user/fuser=> (map f [2 4 7])(4 6 9)
先定义了一个f函数,接受一个参数,然后返回+2后的结果。
map接受两个参数,第一个是f函数,第二个是一个数组。用数组中的三个元素依次调用f函数,每次调用的结果加入到一个list中并返回。
map的文档:
-------------------------clojure.core/map([f coll] [f c1 c2] [f c1 c2 c3] [f c1 c2 c3 & colls]) Returns a lazy sequence consisting of the result of applying f to the set of first items of each coll, followed by applying f to the set of second items in each coll, until any one of the colls is exhausted. Any remaining items in other colls are ignored. Function f should accept number-of-colls arguments.nil还有一个较高级的用法,比如:
user=> (def f (fn [x y] (+ x y)))#'user/fuser=> (map f [2 4] [9 0])(11 4)
这里f函数接受两个参数,因此map 后面的集合数目必须是两个。运行的结果应该是:
((f(2 9)) (f(4 0)))
也就是(11 4)
这个map和map reduce思想有点接近。
- Clojure语言十一:map函数
- 4clojure第118个问题:自己的map函数
- clojure中的map析构
- Clojure语言一:Symbol
- Clojure语言二:Literal
- Clojure语言三:容器
- Clojure语言五:StructMap
- Clojure语言八:Sequence
- Clojure语言十二: namespace
- 开始学习 Clojure 语言
- [转]Clojure 编程语言
- Clojure 语言的设计
- Clojure语言十六 clojure与java
- clojure读取文件->转换Map
- Clojure教程:函数
- Clojure教程:函数
- C语言函数集(十一)
- C语言函数集(二十一)
- Java Annotation学习 http://blog.163.com/czwangli88@126/blog/static/4245153620120105827858/
- java [继承]-[接口]-[抽象类]-[多态]-[Object]
- 中国高铁的秘密
- jQuery属性篇-prop
- 关于NOKIA5233微处理器(freescale ARM11)的一些胡思乱想
- Clojure语言十一:map函数
- 黑马程序员_内部类 异常 包
- 系统出现大量TIME_WAIT状态的连接的解决办法
- 中文字符编码之GBK,UTF-16和UTF-8
- MapReduce--学习
- LPTHREAD_START_ROUTINE函数指针
- wubi安装不用网络
- 回首JavaScript这一年:笑里藏刀 百媚丛生
- 黑马程序员_多线程