【发布时间】:2015-08-20 13:34:12
【问题描述】:
我有两个函数,其中一个从数据库中获取数据
(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参数。
有什么办法可以做到吗?
【问题讨论】:
-
与您的问题无关,但同样重要(IMO):Clojure 中的命名约定是使用小写字母用破折号分隔单词。这意味着你可以写
get-similiar-texts,而不是getSimilarTexts。此外,我还会丢失get,而只需将函数命名为similar-news。 -
如果你可以从
row获取它,为什么你需要函数print-text来获取id作为附加参数,因为你已经在这样做了(:id row)? -
这不是我正在使用的行的 id
-
:row-fn #(printText % id)应该这样做 -
@tazrmi 我明白了,那么我会按照上面 cfrick 的建议进行操作。
标签: function parameters clojure row