Clojure(1) - Hello world 和基本語法
1. Hello world:
編輯 core.clj ,加入 (println "Hola mundo")。Clojure 的語句以小括號括住內容,功能上類似 C 的;號。
其中 (println "Hola mundo") 的 println 為函數,"Hola mundo"為參數。
(ns clojure-test.core (:gen-class)) (defn -main "I don't do a whole lot ... yet." [& args] (println "Hola mundo"))
2. Functional programming:
Clojure 的特色是 functional programming,意味著很多東西都是 function(而且 function 可以當成參數傳遞)。
運算符號也是 function 的一種例如:
(println (+ 1 2 3 4 5))
上面會先計算 (+ 1 2 3 4 5) 的結果,再交由 println 輸出。
值得注意的是 Clojure 的某些 function 具有 scalable 的特性,所以 + 號後面會有不定長的參數。
3. Vars and function:
def 可以用來定義 Vars:
(def msg "Hello world") (println msg)
上面定義一個 symbol 叫 msg 並傳遞給 println。
另外也可以將 function 定為 vars,下面將 adder 設定為一成匿名函數再呼叫 (adder 10 20):
(def adder (fn [x y] (+ x y))) (println (adder 10 20))
另外可以使用 defn 簡潔地宣告一個 function。
(defn adder [x y] (+ x y)) (println (adder 10 20))
留言
張貼留言