【发布时间】:2015-02-04 06:13:32
【问题描述】:
我正在学习 Try Clojure 中的 Clojure 教程,其中介绍了如何定义函数 -
(defn square [x] (* x x))
然后将其应用于数字列表:
(map square [1 2 3 4])
立即打印出错误:java.lang.IllegalStateException: Attempting to call unbound fn: #'sandbox14750/square
当我尝试映射例如函数 inc 时,效果很好 - 内置函数 inc 和我的 square 有什么区别?
【问题讨论】:
-
我刚刚在 Try Clojure 中尝试过这个,它成功了。几天前,我在使用 Try Clojure,但它丢失了我定义的变量。在我定义它们和引用它们之间有几分钟的时间,所以我把它塞进了沙盒回收资源。
-
当我第一次尝试使用 TryClojure 时,它运行良好。在注意到您对我的答案的评论后,我再次尝试,我遇到了同样的问题。但是,它现在有效。我不确定发生了什么。无论如何,你的代码是好的。我怀疑该网站存在一些内部问题。
-
好的 - 我真的会在真正的 clojure REPL 中尝试。
-
你能再试一次吗?我似乎记得 try-clj 有时会随机重置沙箱,这会导致旧定义消失
-
"如果你定义的东西太多,或者在 15 分钟后,解释器会删除你输入的数据"
标签: clojure