Tag: clojure

在clojure中让vs

我想在clojure程序中创build一个Java Scanner类的本地实例。 为什么这不起作用: ;gives me: count not supported on this type: Symbol (let s (new Scanner "abc")) 但它会让我创build一个像这样的全局实例: (def s (new Scanner "abc")) 我的印象是,唯一的区别是范围,但显然不是。 let和def有什么区别?

在clojure中加载configuration文件作为数据结构

clojure中是否有读取函数来parsingclojure数据结构? 我的用例是读取configuration属性文件,一个属性的值应该是一个列表。 我想能够写这个: file.properties: property1 = ["value1" "value2"] 并在clojure: (load-props "file.properties") 并获取值为{property1,[“value1”“value2”]的地图 现在,我正在做下面的,具有相同的input文件“file.properties”: (defn load-props [filename] (let [io (java.io.FileInputStream. filename) prop (java.util.Properties.)] (.load prop io) (into {} prop))) ;; returns: ;; {"property1" "[\"valu1\", \"valu2\"]"} (load-props "file.properties") 但是我无法将结果parsing为clojure的向量。 我基本上在寻找Erlang的文件:consult / 1函数。 任何想法如何做到这一点?

如何在惯用clojure方式重复stringn次?

在Ruby中, "str" * 3会给你“strstrstr”。 在Clojure中,我能想到的最接近的是(map (fn [n] "str") (range 3))有没有更习惯性的做法呢?

为什么为Java VM编写如此多的新语言?

越来越多的编程语言(Scala,Clojure,…)出现在Java VM中,因此与Java字节码兼容。 我开始问自己:为什么Java VM? 是什么让它变得如此强大或stream行,以至于有了新的编程语言,这些编程语言似乎越来越受欢迎? 为什么他们不为新语言写一个新的虚拟机?

将Common Lisp代码移植到Clojure

将Common Lisp应用程序移植到Clojure有多实用? 更具体地说,Common Lisp中存在的Clojure中不存在的特性,必须重写?

什么因素可以决定Clojure,Scala还是Haskell会获得牵引力?

鉴于不可能看到未来,与Clojure,Scala或Haskell相关的因素有可能决定它们中的一个是否能够实现? 是否有文化或经济问题可以使这些语言中的一种优于其他语言? 还是这些语言中的任何一个都不可能因为概念的复杂性而获得牵引力呢?

为什么我应该使用Reify代替clojure中的代理?

为什么我应该使用Reify代替clojure中的代理?

Clojure有没有彩色的REPL?

我想为clojure代码获取一个有色的REPL,类似于您可以使用IRB for Ruby所做的。 user.clj是否有提供REPL自动着色的库或设置? 示例IRB:

doall dorun doseq和for函数有什么区别?

doall , dorun , doseq和for函数之间有什么区别? 我发现在整个互联网上散布着一些信息,但是我认为将信息集中在这里会更好。

Clojure中的箭头和双箭头macros的区别

Clojure中的->和->>macros有什么区别?