clojure 参数和属性
示例
Clojure函数可以使用零个或多个参数来定义。
(defn welcome
"Without parameters"
[]
"Hello!")
(defn square
"Take one parameter"
[x]
(* x x))
(defn multiplier
"Two parameters"
[x y]
(* x y))阿里特
函数采用的参数数量。函数支持arity重载,这意味着Clojure中的函数允许多个“一组”参数。
(defn sum-args
;; 3 arguments
([x y z]
(+ x y z))
;; 2 arguments
([x y]
(+ x y))
;; 1 argument
([x]
(+ x 1)))Arities不必执行相同的工作,每个Arity都可以执行无关的操作:
(defn do-something
;; 2 arguments
([first second]
(str first " " second))
;; 1 argument
([x]
(* x x x)))