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))

留言

熱門文章