问题标签 [clojure-contrib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
260 浏览

configuration - 您希望如何安装 clojure 模块化贡献?

旧的整体式 clojure.contrib 可作为 .jar 从您获得 clojure .jar 的同一位置获得,您可以通过将类路径指向它来使用它。据我所知,新的模块化贡献在 clojure .jar 中不可用——相反,它们作为源文件存在于 github 上。您使用它们的预期方式是什么?比如说,我想在 clojure.math.numeric-tower 中使用一些东西。我会怎么做?

我发现如何在 RHEL 6.1/JDK7 上安装 Clojure 1.3 with contribs?,但唯一的答案(“使用 leiningen”)不够详细,我无法弄清楚。(在 clojars 中搜索 numeric-tower 产生的结果......什么也没有。)

0 投票
1 回答
414 浏览

clojure - *new* contrib 中的任何 Java 属性文件库?

在旧的单体 clojure-contrib 中,有一些命名空间java-utilsproperties一些方便的函数,比如read-properties将 Java 属性文件解析为 Clojure 映射。

新贡献中是否有与这些名称空间等效的名称?

我知道编写(即复制粘贴)该函数很容易,无论如何我可能都会这样做,但如果它已经在某个地方,我宁愿不重复代码。

0 投票
2 回答
1058 浏览

clojure - 我如何依赖每个 clojure contrib 库?

我曾经喜欢包含所有的 clojure.contrib,并且需要所有的库。这使得 find-doc 作为发现工具非常有用。

如今(clojure 1.4)clojure.contrib 分为许多子库。这反而破坏了我的计划,这也意味着我每次需要新库时都必须不断地重新启动 JVM。

所以我正忙着构建一个包含多行的 project.clj 文件:

这样我就可以让 leiningen 将每个 clojure contrib 库放在类路径中,无论我是否需要它们。

而且我认为这将是一个巨大的痛苦,版本号等等。

我想知道是否有人有更好的方法来做同样的事情?

编辑:考虑一下,如果某处有一个包含库名称和当前版本列表的网页,我可以很容易地将其转换为项目文件。

0 投票
1 回答
328 浏览

java - 用于 Java 7 文件 I/O 的多态 I/O 实用程序函数

是否有用于 Java 7 文件 I/O 的 I/O 实用程序函数库,类似于 Clojure Contrib 或其他地方的 clojure.java.io?

具体来说,我对可以提供 Clojure 友好、强制 API 的实用程序感兴趣,这些java.nio.file.PathsAPI可以使用. 事实上,我认为这样的库会利用这些功能,但更容易获得包提供的附加路径操作功能,例如,等....java.nio.file.Pathjava.io.Fileclojure.java.io.fileclojure.java.io.as-filejava.io.Filejava.nio.filerelativizesubpath

0 投票
2 回答
4048 浏览

clojure - 从 clojure 操作 java 对象

我是 clojure 的新手,想使用 clojure 与 java 对象进行交互。如果我很好理解,可以使用defprotocol来实现这种交互。我具体尝试做的是以下内容:

1-我有以下java类

2-我创建了一个 clojure 协议,它应该允许我访问上述 java 类TestObject的实例

现在我的问题是:我在哪里具体实现协议中定义的方法以及如何使用此实现将 TestObject 实例传递到 clojure 端并访问名字、姓氏等值...

任何帮助,将不胜感激。提前致谢。

问候,贺拉斯

0 投票
1 回答
80 浏览

clojure - 使用 zip-filter 库或其他库检查 zip/node 中是否存在具有特定值的属性

我是 clojure 的新手,想知道如何使用 zip-filter 库检查 zip/节点中是否存在具有特定值的属性。

假设我在名为“myfile.xml”的文件中有以下 xml 内容

假设我有对应于上面显示的 xml 结构的拉链,

如果有一个名为“ specialnode ”的节点具有值为“ blabla ”的属性,我该如何测试(真或假)?

任何帮助,将不胜感激。问候。贺拉斯

0 投票
1 回答
725 浏览

java - ClojureScript 编译器如何将 cljs 转换为 Javascript

我很难看到这是如何完成的。它如何能够在不编写任何 JS 的情况下将其转换为 JS(一切都在 Clojure 或 CS 中)。

有人可以举一个简单的例子来说明编译器如何将简单的东西转换为 javascript。也许是 (def x "foo") 或 (defn [x] (+ xx))?

0 投票
2 回答
777 浏览

clojure - 相当于clojure.contrib的show?

在 clojure.contrib 中曾经有一个名为 show 的有用实用程序。现在,它已被弃用,是否有等效的?

谢谢!

0 投票
2 回答
146 浏览

clojure - 如何在 Clojure 中重写 Ruby 的 `Array(x)`?

在 Ruby 中,有一个Kernel#Array方法,它的作用如下:

换句话说,它将 nil 转换为空数组,将非集合转换为单例数组,并将各种类似集合的对象(即响应#to_aryor的对象#to_a)转换为数组。

我想在 Clojure 中有类似的东西:

这就是我到目前为止所得到的:

但我不喜欢它,因为:

  1. 在整体 clojure-contrib爆炸期间,该seqable?功能消失了。我不想仅仅为了一个功能在我的项目中包含庞大的、不再受支持的库。
  2. 我觉得clojure.coreclojure.contrib.whatever中必须有一个内置函数。或者有更惯用的方法。

的确切输出类型to-seq并不重要。主要是我想在列表推导中使用它的输出:

所以如果将是一个向量 - 没关系。如果它是一个向量、一个 Java 数组、一个列表或 nil,取决于输入 - 这也很好。

==== 更新 ====

几乎是最终版本:

最终版本:

(defn to-seq ..blabla..)

我不需要排序,它看起来不吸引人。

0 投票
0 回答
193 浏览

clojure - 不知道如何创建 ISeq:Symbol (logging.clj:13)

我尝试使用 require 将外部库放入我的工作名称空间,但我不断收到错误消息

“java.lang.RuntimeException:java.lang.IllegalArgumentException:不知道如何从:符号(logging.clj:13)创建 ISeq”

下面是我的代码片段。

现在问题是我没有更改日志库中的任何内容,并且在我更换机器之前,我的上述声明曾经有效。有什么问题?