标签: clojure-contrib

使用命令行界面构建Clojure应用程序?

我刚刚开始使用Clojure(来自Ruby),我想用命令行界面构建一个小应用程序.如何处理CL的输入/输出?

我注意到有一个clojure.contrib.command-line,但文档很小.

http://github.com/richhickey/clojure-contrib/blob/ffa868411cda6c617105b52b4f6f9e0f37ee8c24/src/clojure/contrib/command_line.clj

clojure clojure-contrib

78
推荐指数
4
解决办法
1万
查看次数

Clojure XML解析

我找不到有关如何解析xml文档和访问元素的任何信息.

我找到了两种解析xml文档的方法

(clojure.zip/xml-zip (clojure.xml/parse file))
Run Code Online (Sandbox Code Playgroud)

(parse-seq file)
Run Code Online (Sandbox Code Playgroud)

但我似乎可以找到有关如何处理结果结构的任何信息?

源文件是指如何查询结果的zip-query.clj,但似乎也没有.

xml clojure clojure-contrib

65
推荐指数
2
解决办法
2万
查看次数

在Clojure中从字符串创建一个列表

我正在寻找使用字符串作为我的来源创建一个字符列表.我做了一些谷歌搜索并没有提出任何事情,所以我写了一个功能,做了我想要的:

(defn list-from-string [char-string]
  (loop [source char-string result ()]
    (def result-char (string/take 1 source))
    (cond
     (empty? source) result
     :else (recur (string/drop 1 source) (conj result result-char)))))
Run Code Online (Sandbox Code Playgroud)

但看着这个让我觉得我必须错过一招.

  1. 是否有核心或贡献功能为我做这个?当然,我只是愚蠢吗?
  2. 如果没有,是否有办法改进此代码?
  3. 同样的事情对数字也有用吗?

clojure clojure-contrib

25
推荐指数
3
解决办法
2万
查看次数

ClojureQL与clojure.contrib.sql相比如何?

看起来每个人都涵盖了基本情况,例如选择某些列并通过谓词过滤得很好,但我想知道每种情况如何比较更高级的情况.是否更容易在一个方面表达复杂的查询?一个库是否缺少对方涵盖的任何功能?

sql clojure clojure-contrib clojureql

25
推荐指数
1
解决办法
3375
查看次数

如何找到我的哪个依赖项正在下载特定的jar?

我的project.clj之一:依赖关系取决于整体的clojure-contrib-1.1.0.jar,但我无法猜出哪一个正在下载它.如果没有逐步评论每一个,我怎么能发现它们中的哪一个负责?

clojure clojure-contrib leiningen

21
推荐指数
2
解决办法
2372
查看次数

如何动态查找Clojure函数的元数据?

说我有以下代码:

(defn ^{:graph-title "Function 1"} func-1
  [x]
  (do-something-with x))

(defn get-graph-title 
  [func]
  (str
    ((meta func) :graph-title))) 

我希望这会返回"功能1",但它返回nil.我认为这源于以下差异,我不完全理解:

(meta func-1)
=>  {:ns some-ns-info, :name func-1}
(meta #'func-1)
=>  {:ns some-ns-info, :name func-1, :graph-title "Function 1"}

谁可以给我解释一下这个?

metadata function clojure clojure-contrib

17
推荐指数
2
解决办法
4641
查看次数

在哪里可以找到Leiningen中依赖项的有效版本号

我是Clojure和Leiningen的新手,我已经确定我想要使用的一些内容位于clojure.contrib.generic.math-functions中.我在http://richhickey.github.com/clojure-contrib/branch-1.1.x/math-api.html找到了API的信息,但我找不到任何可以帮助我弄清楚应该放入什么的东西我的project.clj文件用于该依赖项.

我曾尝试[clojure.contrib.generic.math-functions "1.1"],[clojure.contrib.generic.math-functions "1.1.x"][clojure.contrib.generic.math-functions "1.1.0"].对于每一个,我得到像......

...
Caused by: org.apache.maven.artifact.resolver.MultipleArtifactsNotFoundException: Missing:
----------
1) clojure.contrib.generic.math-functions:clojure.contrib.generic.math-functions:jar:1.1
Run Code Online (Sandbox Code Playgroud)

clojure clojure-contrib leiningen

14
推荐指数
3
解决办法
4986
查看次数

用于Clojure中的身份monad

我一直在为Clojure程序员阅读monad优秀介绍.文章说明Identity monad在功能上等同于Clojure的let,而Sequence/List monad等同.

当文章到达monad变换器时,它显示了一个组合Maybe和Sequence monad的示例.好了,一个原因是使用序列单子,而不是针对的是我可以改变它.但是,转换一个Identity monad对我来说没有意义 - 这不总是等同于构建变换monad的任何东西吗?例如,如果我使用Identity转换了Maybe - 那不就是给我一个Maybe,这本来更容易直接声明吗?

有人可以清楚在Clojure中是否有实际用途来选择一个版本monad而不是let(也许我不是一直在考虑变换器的含义?),还是它只是为了理论上的完整性?

monads clojure clojure-contrib

10
推荐指数
2
解决办法
944
查看次数

如何从Java调用Clojure宏?

无论如何从Java调用Clojure宏?

这是我想要做的:

RT.var("clojure.core", "require").invoke(Symbol.create("clojure.contrib.prxml"));
Var prxml = RT.var("clojure.contrib.prxml", "prxml");
Var withOutStr = RT.var("clojure.core", "with-out-str");
String stringXML = (String) withOutStr.invoke((prxml.invoke("[:Name \"Bob\"]")));
Run Code Online (Sandbox Code Playgroud)

prxml默认写入*out*,这就是为什么我需要用带有-out-str的宏包装它来返回字符串.

我收到此错误:

 [java] java.lang.IllegalArgumentException: Wrong number of args (1) passed to: core$with-out-str
 [java]     at clojure.lang.AFn.throwArity(AFn.java:437)
 [java]     at clojure.lang.RestFn.invoke(RestFn.java:412)
 [java]     at clojure.lang.Var.invoke(Var.java:365)
 [java]     at JavaClojure.xml.main(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

java clojure clojure-contrib

10
推荐指数
3
解决办法
800
查看次数

在Clojure中插入到XML文件的Zipper树中

我很困惑如何习惯性地更改通过clojure.contrib的zip-filter.xml访问的xml树.应该尝试这样做,还是有更好的方法?

假设我有一些虚拟xml文件"itemdb.xml",如下所示:

<itemlist> 
  <item id="1">
    <name>John</name>
    <desc>Works near here.</desc>
  </item>
  <item id="2">
    <name>Sally</name>
    <desc>Owner of pet store.</desc>
  </item>
</itemlist>
Run Code Online (Sandbox Code Playgroud)

我有一些代码:

(require '[clojure.zip :as zip]
  '[clojure.contrib.duck-streams :as ds]
  '[clojure.contrib.lazy-xml :as lxml]
  '[clojure.contrib.zip-filter.xml :as zf]) 

(def db (ref (zip/xml-zip (lxml/parse-trim (java.io.File. "itemdb.xml")))))

;; Test that we can traverse and parse.
(doall (map #(print (format "%10s: %s\n"
       (apply str (zf/xml-> % :name zf/text))
       (apply str (zf/xml-> % :desc zf/text))))
     (zf/xml-> @db :item)))

;; I assume something like this is needed to make the …
Run Code Online (Sandbox Code Playgroud)

xml clojure clojure-contrib

9
推荐指数
2
解决办法
1709
查看次数

标签 统计

clojure ×10

clojure-contrib ×10

leiningen ×2

xml ×2

clojureql ×1

function ×1

java ×1

metadata ×1

monads ×1

sql ×1