clojure
函数式编程之clojure(v102)
(do (let [[x y z] val] (println (+ x z))) (let [[x _ _ [y z]] val] (println (+ x y z))) (let [[x amp。 rest] val] (println rest)) (let [[x _ z :as orig] val] (println (conj orig (+ x z)))))。 =。 = 59。
clojure概览(编辑修改稿)
loop和 recur • 语言结构:顺序,条件和循环 • Clojure中没有专门的循环结构,而是通过递归来实现循环 – 递归更符合人类直觉 – 递归让代码更优雅 • loop与 let类似,但是 loop会创建一个递归点,允许 recur递归跳转 • loop和 recur并不是尾递归优化 (TCO) Macro • Macro是 Clojure元编程的主要 方式 – 扩展编译器