想学习并精通 Clojure 吗?

加入 Exercism 的 Clojure 轨道,即可获得 105 个练习 分成 12 个 Clojure 概念, 还会自动分析 你的代码,并提供 个性化指导, 而且全部100% 免费。

关于 Clojure

(ns hello-world)

(defn hello
  ([] (hello "World"))
  ([name] (str "Hello, " name "!")))

Clojure 的主要功能


Clojure

Lisp

把 Lisp 的“代码即数据”系统扩展到向量和映射,并拥有强大的宏系统。

动态

Clojure 的主要编程接口是读取-求值-打印循环(REPL)。

函数式

允许避免可变状态,把函数作为一等对象,并强调递归。

实用

不强制程序具备引用透明性,也不追求“可证明”的程序。

并发

支持以同步、协调的方式在线程之间共享可变状态。

依托 JVM

与 JVM 共享类型系统、GC、线程等。把所有函数编译为 JVM 字节码。

你将学到的概念一览


查看 Clojure 的所有概念

以 Clojure 的方式接受指导

每种语言都有自己的做事方式,Clojure 也不例外。我们的导师会帮助你学会像 Clojure 开发者那样思考,并教你如何写出地道的 Clojure 代码。解完一道练习后,把它提交给我们由志愿者组成的团队,他们会给你提示、想法和反馈,帮你写出更接近 Clojure 中常见风格的代码,还会帮你发现那些你并不知道自己不知道的东西。

了解更多关于指导的内容

由社区贡献的 Clojure 练习

Exercism 上的 Clojure 轨道有 12 个概念和 105 个练习,帮你写出更好的代码。

查看 Clojure 的全部练习
Clojure

开始学习 Clojure 轨道

最棒的是,它对所有人 100% 免费。

加入 Clojure 轨道