我想使用 SQLKorma 执行一些 SQL 语句。一开始我写了以下代码:
(let [sqls (-> (slurp "resources/database.sql")
(str/split #";")
butlast)]
(for [sql sqls]
(k/exec-raw sql)))
但是由于未知的原因,这不起作用。for 循环被完全跳过。然而,这有效:
(let [sqls (-> (slurp "resources/database.sql")
(str/split #";")
butlast)]
(loop [sqls sqls]
(if (not (empty? sqls))
(do
(k/exec-raw (first sqls))
(recur (rest sqls))))))
为什么会这样?为什么 for 循环会失败?