大家好,我是對於 Clojure 一無所知的菜鳥小白工程師。
要學習 Clojure,就先從語法下手吧!
以下內容主要來自 Do Things: A Clojure Crash Course of Clojure for the Brave and True。
我們在 Day 2 有提到,Clojure 是屬於 Lisp 家族的語言。
Clojure 與所有的 Lisp 語言一樣,有著統一的結構,外觀上看起來是一大堆的括號。
我們可以在 Try Clojure 上,寫一些簡單的 Clojure 語法:
所有的 Clojure 程式碼都以統一的結構書寫。
Clojure 可以辨識兩種結構:
data structures
)。Operations
)我們通常使用
form
來指稱 Clojure 中有效的程式碼,有時也會使用expression
來稱呼 Clojure 中的 forms。
Clojure 會計算每個 form 以產生一個值。
以下這些表述都是有效的 form:
1 ; numbers
"a string" ; strings
["a" "vector" "of" "strings"] ; vectors
;; p.s 在 Clojure 中,使用 ; 註解程式碼
Operations 是指執行操作的方式。
所有 Operations / 運算都有以下形式:開括號 (
、運算子、運算元、關括號 )
形式如下:
(operator operand1 operand2 ... operandn)
另外,要注意 Clojure 使用空格來分隔運算元,並將逗號視為空格。以下是一些例子:
(+ 1 2 3)
; => 6
(str "It was the panda " "in the library " "with a dust buster")
; => "It was the panda in the library with a dust buster"
以上兩個例子,第一個是數字相加,第二個是字串相加,他們都是有效的 Forms。
我們來複習一下:
關於 Opeations,有幾個特點可以先記住: