我使用rand
來指定一個字段值作爲:before-save
函數clj-record。下面的random-str
函數用於生成該值。clj-record:什麼時候是:before-save叫?
(def VALID-CHARS
(map char (concat (range 48 58) ; 0-9
(range 65 91) ; A-Z
(range 97 123)))) ; a-z
(defn random-char []
(nth VALID-CHARS (rand (count VALID-CHARS))))
(defn random-str [length]
(apply str (take length (repeatedly random-char))))
當我隨後使用從CLJ-記錄create
functon返回的地圖,該字段的值是什麼是數據庫中的不同。這是否意味着有一些懶惰的評估錯誤呢? random-str
被多次調用?
psst。 (defn random-char [](rand-n VALID-CHARS)) –