函数
Clojure是一种函数式语言,则意味着函数:
动态创建
作为参数传递给函数
从其他函数中返回
作为值保存在其他数据结构中
-
函数定义,使用宏:defn,也可以拆分为def 、fn,fn也用于定义匿名函数
-
可变参数数量,参数列表中使用**&**符号
-
let形式,将符号和某个值绑定,从而引入局部变量
-
do的副作用
对于函数来说,唯一的行为就是计算一个值并返回。调用一个函数不会以任何形式改变世界的状态,即所谓的“副作用”
do的作用就是将多个表达式合成一个表达式,从而达到每个表达式都运行的效果
-
读取器宏
Clojure读取器将程序文本转换为Clojure数据结构,通过圆括号、花括号来识别
- 引述(’)
- 字符(\)
- 注释(;)
- 元(^)
- 解除引用(@)
- 分派(#)
- #{}:构造一个集合
- #():构造一个匿名函数
- #"":构造一个正则表达式模式
- 语法引述(`)
- 解引述(~)
- 解引述拼接(~@)