clojure 定义可变函数
示例
可以使用其参数列表中的符号&将Clojure函数定义为采用任意数量的参数。所有剩余的参数将按顺序收集。
(defn sum [& args] (apply + args)) (defn sum-and-multiply [x & args] (* x (apply + args)))
致电:
=> (sum 1 11 23 42) 77 => (sum-and-multiply 2 1 2 3) ;; 2*(1+2+3) 12
可以使用其参数列表中的符号&将Clojure函数定义为采用任意数量的参数。所有剩余的参数将按顺序收集。
(defn sum [& args] (apply + args)) (defn sum-and-multiply [x & args] (* x (apply + args)))
致电:
=> (sum 1 11 23 42) 77 => (sum-and-multiply 2 1 2 3) ;; 2*(1+2+3) 12