2

我正在学习 Clojure,我有一个关于基础知识的问题。

如何使函数返回“行”变量:

(defn list-domains []
  (sql/with-connection db
    (sql/with-query-results rows  ["select * from domains"]
        rows)))

谢谢

4

1 回答 1

2

自从我[FR]以来很长时间了,但据我所知,sql/with-query-results它没有返回结果。它仅以查询结果作为参数评估子表达式(最后一个参数):

(defn list-domains []
  (sql/with-connection db
    (sql/with-query-results rows  ["select * from domains"]
        (do-something-with rows) )))

如果你真的想返回,你可以尝试通过使用实例化序列doall

(defn list-domains []
  (sql/with-connection db
    (sql/with-query-results rows  ["select * from domains"]
        (doall rows) )))

编辑:嗯......嗯......事实上,这与文档提供的完全相同的解决方案with-query-results:/

于 2013-08-10T13:58:47.110 回答