Я использую rand
, чтобы назначить значение поля как функцию :before-save
в clj-record .Приведенная ниже функция random-str
используется для генерации значения.
(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-record create
, значение этого поляотличается от того, что в базе данных.Означает ли это, что происходит некоторая ленивая странность оценки?random-str
вызывается более одного раза?