1
我剛剛開始使用Clojure
,使用Heroku
,第一次讀數爲this introduction。 現在處於弄髒我的手的階段,我正面臨着這個問題處理循環中的數據庫。使用Clojure在數據庫上循環使用
這是工作:
(for
[s (db/query (env :database-url)
["select * from My_List"])]
; here one can do something with s, for example:
; print out (:field s)
)
但它是不夠的,因爲我想更新的循環中的變量。 閱讀這個主題,我明白Clojure有自己的處理變量的方式,我需要使用循環模式。
這裏是我的嘗試:
(loop [a 0 b 1
s (db/query (env :database-url)
["select * from My_List"])]
; here I want to do something with s, for example
; print out (:field s)
; and do the following ... but it does not work!
(if (> (:otherField s) 5)
(:otherField s)
(recur (+ a (:otherField s)) b s))
)
因爲我試圖寫這篇文章之前做的各種方式,我知道,所不同的是事實,我做的關於數據庫的一些錯誤作品的代碼。
所以這裏來了我的問題:我需要改變什麼才能使它工作?