引數和 Arity
可以使用零個或多個引數定義 Clojure 函式。
(defn welcome
"Without parameters"
[]
"Hello!")
(defn square
"Take one parameter"
[x]
(* x x))
(defn multiplier
"Two parameters"
[x y]
(* x y))
元數
函式所需的引數個數。函式支援 arity 過載,這意味著 Clojure 中的函式允許多個 set
引數。
(defn sum-args
;; 3 arguments
([x y z]
(+ x y z))
;; 2 arguments
([x y]
(+ x y))
;; 1 argument
([x]
(+ x 1)))
精靈們不必做同樣的工作,每個人都可以做一些無關的事情:
(defn do-something
;; 2 arguments
([first second]
(str first " " second))
;; 1 argument
([x]
(* x x x)))