116得票5回答
如何将Clojure关键字转换为字符串?

在我的应用程序中,我需要将clojure关键字(例如::var_name)转换为字符串“var_name”。有什么想法可以实现这个功能?

116得票12回答
有人能用简单的语言解释一下Clojure Transducers吗?

我已经尝试阅读相关内容,但我仍然不理解它们的价值或者它们所替代的内容。它们是否能够使我的代码更简洁易懂? 更新 很多人已经回答了,但是如果能举出具有简单性质的使用和不使用转换器的例子将会更好,这样即使像我这样的白痴也能够理解。除非转换器需要某种高层次的理解,否则我将永远无法理解它们 :(

114得票3回答
Lisp-1与Lisp-2有什么区别?

我尝试理解Lisp-1和Lisp-2的区别以及与Clojure的关系,但我仍然没有完全理解。有人能给我解释一下吗?

113得票5回答
Compjure路由背后的“大想法”是什么?

我刚开始使用Clojure并使用Compojure编写基本Web应用程序。然而,我在Compojure的defroutes语法方面遇到了困难,因此我认为我需要了解其背后的“如何”和“为什么”。 似乎像 Ring 风格的应用程序从 HTTP 请求映射开始,然后通过一系列中间件函数将请求传递,直...

113得票5回答
Clojure有什么用处?

人们用Clojure来做哪些真实世界的应用? 我使用Groovy来进行“粘合”操作,Java用于大型系统,Python/Perl脚本用于解析和粘合。我可以看到自己从Java中调用Clojure,但我无法看出在什么情况下我会单独使用它。对我而言,几乎任何脚本语言都更容易用于adhoc任务。 ...

108得票5回答
Clojure:cons(seq)与conj(list)的区别

我知道cons返回一个序列,而conj返回一个集合。 我也知道conj将项目“添加”到集合的最佳末尾,而cons总是将项目“添加”到前面。 以下示例说明了这两点:user=> (conj [1 2 3] 4) ; returns a collection [1 2 3 4] user=&...

105得票5回答
如何在Clojure中将惰性序列转换为非惰性序列

我在Clojure中尝试了以下代码,期望返回非惰性序列的类:(.getClass (doall (take 3 (repeatedly rand)))) 然而,这仍然返回 clojure.lang.LazySeq。我的猜测是 doall 确实会评估整个序列,但由于原始序列对于备忘仍然有用,因此...

104得票4回答
Clojure与其他Lisp语言的比较

我的问题意图不是要引发争论,而是要确定在什么情况下每种语言都是“最佳工具”。我读过几本关于Clojure的书(Programming Clojure, Practical Clojure, The Joy of Clojure和Manning早期版本的Clojure in Action),我认...

103得票1回答
Clojure 1.2.1/1.3/1.4在Grails 2.0.0运行时生成的代理无法正常工作,但1.2.0可以。

我正在扩展Grails 2.0.0(和2.1.0-SNAPSHOT)中的Grails Clojure插件,并希望将其更新为Clojure 1.3.0并添加clojure.tools.logging。 在clojure.tools.logging的log-stream函数中,对ByteArra...

98得票1回答
将Clojure命名空间拆分成多个文件

在使用:gen-class进行预编译时,是否可以将Clojure命名空间拆分为多个源文件?在此过程中,(:main true)和(defn- ...)如何发挥作用?