Clojure 速查
共 26 条 Clojure 基础语法与序列操作,涵盖基础语法、数据结构、序列操作、函数与宏、工具与 REPL。 支持搜索与分类筛选,点击即可复制。
基础语法
JVM 上的 Lisp,前缀表达式。
| 命令 | 说明 |
|---|---|
| 定义变量 | |
| 定义函数 | |
| 局部绑定 | |
| 条件表达式 | |
| 注释 |
数据结构
不可变集合。
| 命令 | 说明 |
|---|---|
| 向量(随机访问) | |
| 映射(关键字作键) | |
| 集合(去重) | |
| 列表(需引号防止求值) | |
| 关键字 / 字符串 / 数字 / 布尔 |
序列操作
函数式核心,惰性求值。
| 命令 | 说明 |
|---|---|
| 映射 | |
| 过滤 | |
| 归约 | |
| 线程优先宏 -> | |
| 线程最后宏 ->> | |
| 取前 n 个 / 丢弃前 n 个 |
函数与宏
一等函数与元编程。
| 命令 | 说明 |
|---|---|
| 匿名函数 | |
| 匿名函数简写(% 为参数) | |
| 把序列展开成参数 | |
| 偏函数应用 | |
| 定义宏(~ 反引用) |
工具与 REPL
Leiningen / deps.edn。
| 命令 | 说明 |
|---|---|
| 创建项目并进入 REPL | |
| 运行 / 测试 | |
| 在 REPL 中引入命名空间 | |
| 命名空间声明 | |
| 打印(prn 输出可读形式) |
使用说明
Clojure 速查:基础语法、数据结构、序列操作、函数与宏、工具与 REPL;支持搜索与分类筛选,点击即可复制。
- 按用途点分类:基础语法、数据结构、序列操作、函数与宏、工具与 REPL。
- 点「命令」列复制到 REPL 或源文件。
- 所有集合不可变,操作返回新集合;用 ->> 把数据在函数间串起来。
- REPL 用 (require ...) 引入命名空间后再调用。
常见问题
- -> 和 ->> 有什么区别?
- -> 把结果作为下一个表达式的第一个参数;->> 作为最后一个参数。按函数参数位置选择。
- 为什么 list 要加引号?
- '(1 2 3) 中的引号阻止求值,否则会被当成函数调用。向量与映射不需要。
- 需要联网吗?
- 不需要,本地可用。
延伸阅读
相关工具
BTL
Bottle 速查
@route / run / request / template 速查
RKET
Rocket 速查
#[get] / #[launch] / routes! / State 速查
WARP
Warp 速查
warp::path / and/or / map / Rejection 速查
KTOR
Ktor 速查
embeddedServer / routing / plugins / HttpClient 速查
MNUT
Micronaut 速查
mn create-app / @Controller / @Inject 速查
SNTR
Sinatra 速查
get '/' / params / erb / set 速查