首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >clj-记录:什么时候是:先保存呼叫?

clj-记录:什么时候是:先保存呼叫?
EN

Stack Overflow用户
提问于 2011-07-28 16:05:22
回答 1查看 101关注 0票数 1

我使用rand将字段值赋值为clj-record中的:before-save函数。下面的random-str函数用于生成值。

代码语言:javascript
复制
(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函子返回的映射时,该字段的值与数据库中的值不同。这是否意味着有一些懒惰的评估正在进行?random-str是否不止一次被调用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-28 17:56:39

这听起来像是clj唱片的问题。

在clojure中,只有使用惰性序列,或者使用延迟,才会出现懒惰。否则,clojure是一种严格/热切的计算语言。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6862066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档