Row-fn在clojure中有一个参数

时间:2015-08-20 13:34:12

标签: function parameters clojure row

我有两个函数,其中一个从数据库中获取数据

(defn getSimilarTexts[id]
   (j/query mysql-db
    ["select * from news"]
    :row-fn printText
    ))

另一个应该调用不同的函数,如:

(defn printText[row id]
  (oneWord (row :id) (row :title) (row :text) id))

但我不知道如何撰写:row-fn printText行,以便printText函数获取id参数。

你有什么方法可以做到吗?

1 个答案:

答案 0 :(得分:0)

你可以使用一个闭包。以下是使用匿名函数的示例:

(defn getSimilarTexts[id]
   (j/query mysql-db
    ["select * from news"]
    :row-fn (fn [row]
              (printText row id))))

此处匿名函数中的id变量将绑定到传递给id的{​​{1}}。