Tag: clojure

Clojure:cons(seq)vs. conj(list)

我知道, cons返回一个seq和连接返回一个集合。 我也知道conj将这个物品“添加”到集合的最佳结尾,并且总是把这个物品“添加”到最前面。 这个例子说明了这两点: user=> (conj [1 2 3] 4) //returns a collection [1 2 3 4] user=> (cons 4 [1 2 3]) //returns a seq (4 1 2 3) 对于向量,地图和设置这些差异对我来说是有意义的。 但是,对于列表,他们似乎是相同的 user=> (conj (list 3 2 1) 4) //returns a list (4 3 2 1) user=> (cons 4 (list 3 2 1)) //returns a […]

Emacs / Swank / Paredit Clojure的一个温和的教程

我正在转向Emacs,致力于Clojure / Lisp。 我需要在Emacs上设置的所有信息能够执行以下操作? 自动匹配/生成相应的右括号 autoindent Lisp / Clojure风格,而不是C ++ / Java风格 语法突出显示 调用REPL 为了能够从文件中加载一部分代码到REPL中并对其进行评估。 如果我能在Emacs上设置一些命令的列表来获得这些东西,那将是非常好的。

在纯函数式语言中,是否有algorithm来获得反函数?

在像Haskell这样的纯函数语言中,是否有一种algorithm来获得函数的反函数,(编辑)它是否是双射的? 有没有一个特定的方式来编程你的function,所以呢?

在C,Clojure,Python,Ruby,Scala等中解释基准

放弃 我知道人造基准是邪恶的。 他们只能针对非常狭窄的情况显示结果。 我不认为一种语言比另一种语言好,因为一些愚蠢的板凳。 不过,我想知道为什么结果如此不同。 请在底部查看我的问题。 math基准描述 基准是简单的math计算,以find相差6的素数(所谓的性感素数 )。例如100以下的性感素数将是: (5 11) (7 13) (11 17) (13 19) (17 23) (23 29) (31 37) (37 43) (41 47) (47 53) (53 59) (61 67) (67 73) (73 79) (83 89) (97 103) 结果表 在表中:计算时间以秒为单位运行:除了因素在VirtualBox(Debian unstable amd64 guest,Windows 7 x64主机) 中运行的所有CPU:AMD A4-3305M Sexy primes up to: 10k […]

Ref,Var,Agent,Atom与范例之间的Clojure区别

我对Clojure很陌生,你们可以给我解释真实的世界情景。 我的意思是,在哪里使用Ref,Var,Agent,Atom。 我读书,但是,仍然不能理解现实世界的例子。

Clojure开发人员避免常见的编程错误

Clojure开发人员犯的一些常见错误,我们如何避免这些错误? 例如; Clojure的新人认为, contains? 函数的作用与java.util.Collection#contains相同。 但是, contains? 只有在与索引集合(如地图和集合)一起使用时才会起作用,并且您正在查找给定的键: (contains? {:a 1 :b 2} :b) ;=> true (contains? {:a 1 :b 2} 2) ;=> false (contains? #{:a 1 :b 2} :b) ;=> true 当与数字索引集合(向量,数组) contains? 只检查给定的元素是否在有效的索引范围内(从零开始): (contains? [1 2 3 4] 4) ;=> false (contains? [1 2 3 4] 0) ;=> true 如果给出一个列表, contains? 永远不会回报真实。

Java来clojure重写

我刚刚被公司要求在Clojure中重写一个大型的(50000单行代码)Java应用程序(一个使用JSP和servlet的web应用程序)。 有没有其他人有什么我应该小心的提示? 请记住,我很了解Java和Clojure。 更新 我做了重写,并投入生产。 这很奇怪,重写的速度很快,大约在6周内完成。 因为许多function并不需要,所以它更像是3000行的Clojure。 我听说他们对这个系统很满意,而且他们正在做他们想做的事情。 唯一的缺点是维护这个系统的人必须从零开始学习Clojure,并且被拖入它的脚步和尖叫声中。 我有一天接到他的电话,说他现在爱Lisp ..虽然..有趣:) 另外,我应该提到Vaadin。 使用Vaadin可能会占用尽可能多的代码,Clojure所做的一样。Vaadin仍然是我使用过的顶级Web框架,尽pipe现在我正在愤怒的学习ClojureScript! (请注意,Vaadin和ClojureScript都使用Google的GUI框架)

中等尺寸的Clojure示例应用程序?

是否有一个中等规模的Clojure示例应用程序,可以用作“最佳实践”示例,以及从代码和代码组织的angular度来看这样一个应用程序的样子? 一个Web应用程序对我来说会特别有意思,但最重要的是程序做了一些通常有用的事情(例如博客,错误跟踪,CMS),而不是我从来没有在实际中实现过的math(解决N皇后问题,模拟Life,生成Fibonacci序列,以及函数式编程语言的常见function)。 谢谢!

leiningen – 如何添加本地jar子的依赖?

我想用leiningenbuild立和发展我的clojure项目。 有没有办法修改project.clj来告诉它从本地目录中select一些jar? 我有一些专有的jar子不能上传到公共仓库。 另外,leiningen可以用来维护clojure项目的“lib”目录吗? 如果我的一些clojure项目共享相同的jar子,我不想为每个jar子保留一个单独的副本。 谢谢

在Clojure中,如何将string转换为数字?

我有各种string,有些像“45”,有些像“45px”。 如何将这两个转换为45号?