clojure
小小八卦姐
程序媛一枚爱读书爱生活
展开
-
关于clojure的ns中的require,use,import等
关于require require只负责引入clojure库,不绑定函数到当前的ns中。 Clojure代码 ;;引入java io,并指定缩略名为io (require ‘[clojure.java.io :as io]) ;;使用 (io/file “Filename”) ;;在ns中使用 (ns test (:require [clojure.java.io :as i转载 2016-10-10 16:40:18 · 2595 阅读 · 0 评论 -
clojure中的map析构
map析构对下面集中数据结构有效: 1.clojure原生的hash-map、array-map,以及记录类型 2.任何实现了java.util.Map的对象 3.get方法所支持的任何对象。clojure提供 :keys、:strs、:syms来指定map中key的类型。 :keys表示key的类型是关键字; :strs表示key的类型是字符串; :syms表示key的类型是符号。ex原创 2016-10-10 18:15:08 · 1513 阅读 · 0 评论 -
clojure中的小细节
1.&可变参数(defn add [v1 v2 & others] ;;&后面的是可变参数(+ v1 v2 (if others ;;判断可变参数列表是否是空,如果不是累加列表中的值,否则返回0(reduce + 0 others) ;;使用reduce函数计算others的数字之和。0)))2.defn - (defn -name & decls)作用和defn类似,唯一的不同是创原创 2016-10-19 17:33:32 · 1427 阅读 · 0 评论 -
clojure的binding和引用类型
binding 包括:全局binding,线程本地(thread local) binding ,函数内的本地binding,表达式内部的binding 全局binding:引用类型 Refs通过使用SoftwareTransactional Memory(STM)来提供对于多块共享数据的同步访问。 Atoms提供对于单个共享数据的同步访问。 Agents提供对于单个共享数据的异步访问。原创 2016-10-18 11:30:26 · 512 阅读 · 0 评论