Clojure函数中的参数

时间:2010-08-23 10:27:20

标签: clojure

我有一个类似的功能:

(the-function [one] [two] [three])

我需要一个调用-function的函数。

我尝试使用[& args],但它似乎没有正确传递参数。

如果有帮助,该函数就像找到的{-3}}

的MySQL的创建表一样

编辑: 我的功能不起作用是这样的:

(defn my-function [& args]
   (the-function args))

我希望能够做到:

(my-function [one] [two] [three])

并使用这些参数

调用 the-function

3 个答案:

答案 0 :(得分:4)

好的,你想要的是:

(defn my-function [& args] (apply the-function args))

Apply将一个函数应用于序列中的一组参数,就好像它们是单独的参数一样。

答案 1 :(得分:2)

apply是函数调用函数,例如:

(defn add-three [x y z] (+ x y z))

(add-three 1 2 3)
(apply add-three '(1 2 3))

这有帮助吗?

答案 2 :(得分:0)

我不确定我理解你的问题。

正在破坏你需要的东西吗?

(defn the-function [[one two three]]
  (println (str one two three)))

(defn myfunction [& args]
   (the-function args))