Clojure 是一門建立在 JVM 上的 Lisp 方言。它將腳本語言的互動便利性,以及用於多執行緒程式設計的穩健基礎結合起來;它是一種編譯語言,卻保留了動態語言的強大。它提供了簡易的方法,可以輕鬆地存取 Java 函式庫。
Clojure 奉行「程式即爲數據」的 Lisp 哲學,並引入了強大的巨集系統;Clojure 亦是函數式程式語言,更爲了現今多核處理器的開發需求,提供了狀態管理的系統,以確保清晰、正確的多執行緒程式設計。
透過這一系列文章,希望帶領讀者體會及了解 Clojure 語言的優雅、強大與實用,進而在實戰環境中使用 Clojure、擁抱 Clojure。
前言 世界太新,很多事物還沒有名字,必須用手指頭伸手去指。 — 賈西亞•馬奎茲《百年孤寂》 Clojure 是什麼 Clojure 從 2007 年由創始人...
基本組成(一) 運算式 Clojure 程式是由許多運算式 (Expression) 組合而成。在 Clojure 中,Expression (運算式) 也被稱...
基本組成(二) 資料型態 布林 Clojure 程式語言使用 true 和 false 來表示邏輯上的真與假: true ;; => true false...
資料結構與型態(一) 本篇文章將介紹 Clojure 內建的的資料結構與型態,會先從簡單的資料型態如數字及字串開始,再介紹複雜的資料結構如群集 (Collect...
資料結構與型態(二) 字串與字符 Clojure 的字串即是 Java 的 String 類型,表現方法也跟 Java 一樣用雙引號包住文字: (class &...
資料結構與型態(三) 群集 Clojure 的複合型別稱爲群集 (Collection),可以容納基本型別跟複合型別,所有的群集都是不可變 (Immutable...
繫結與函式(一) 函式是函數式程式設計的核心,雖然各個流派談及函數式程式設計,都有自己的定見和看法,但是不變的核心仍然是函式,函式必須是程式語言的第一級公民 (...
繫結與函式(二) 函式 多載 Java 中將類別裡擁有數個同樣名字的方法 (Method),參數個數卻不同稱爲多載 (Overloading),Clojure...
繫結與函式(三) 函式 高階函式 之前提到,函式在 Clojure 中是一等公民,像資料一樣,可以當成參數傳遞給其它函式,或可以被當成返回值傳遞。而可以做到其中...
遞迴 一般遞迴 遞迴是函式透過不斷呼叫自己,將問題切割成數個細小問題逐個解決之後,把結果統整起來的問題解決方式。函數式程式設計語言透過遞迴達成迴圈可以做到的事。...