首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用clojure.math.numeric- or或任何库

使用clojure.math.numeric- or或任何库
EN

Stack Overflow用户
提问于 2012-01-03 08:14:49
回答 3查看 4.4K关注 0票数 20

我试着学习一点Clojure,因为它看起来很不错。但是似乎没有关于如何安装/使用诸如clojure.math.numeric- to之类的库的信息。

现在,我通过在Linux shell中输入以下命令来运行REPL:

代码语言:javascript
复制
java -cp ~/Clojure/clojure-1.3.0/clojure-1.3.0.jar  clojure.main

我下载了数字塔jar,并把它放在任何地方。我已经以各种可能的方式修改了-cp选项。我已经把numeric_tower.clj文件放在任何地方了。它还是不能工作。

该如何使用这些库呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-03 09:49:22

我昨天也遇到了同样的问题(也是作为Clojure的新手)。据我所知,在Clojure 1.2和1.3之间,他们将许多contrib库拆分到单独的项目中,以便更容易管理。并缩小Clojure的核心。

完成你想要做的事情的最简单的方法是通过leiningen (我昨天晚上在#clojure IRC频道的技术方面得到了这个答案)。建议使用leiningen创建一个“游乐场”项目,您可以在其中玩耍并学习Clojure。

因此,使用以下命令创建一个游乐场项目:

代码语言:javascript
复制
lein new playground

修改project.clj文件以包括:

代码语言:javascript
复制
[org.clojure/math.numeric-tower "0.0.1"]

作为依赖项。有人告诉我,http://search.maven.org/是找出哪个是特定库的最新版本的最简单方法。

然后,运行

代码语言:javascript
复制
lein deps

把罐子拉起来。现在你已经准备好了

代码语言:javascript
复制
lein repl

才能上路。

一旦启动了repl,就拉入numeric- in:

代码语言:javascript
复制
(require '[clojure.math.numeric-tower :as math])

然后,您可以执行expt调用:

代码语言:javascript
复制
(math/expt 4 6) ;; yields 4096

希望这能有所帮助!

票数 31
EN

Stack Overflow用户

发布于 2012-01-03 20:50:45

感谢所有人。它现在起作用了。事实上,真正让我困惑的问题是java不能理解类路径中冒号后面的~ (linux home)符号。我在做

代码语言:javascript
复制
java -cp ~/Clojure/clojure-1.3.0/clojure-1.3.0.jar:~/Clojure/lib  clojure.main

而java并不理解这一点。

但是,如果您这样做

代码语言:javascript
复制
java -cp ~/Clojure/clojure-1.3.0/clojure-1.3.0.jar:/home/username/Clojure/lib  clojure.main

它起作用了。

类路径变量的奇怪行为。

我会使用lein,但由于我正在考虑为android做一些编程,我想如果我能理解所有这些只在java中是如何工作的,那会更好。除非lein也可以打包android项目?

不管怎样,谢谢。所有三个回复都提供了非常丰富的信息。

票数 1
EN

Stack Overflow用户

发布于 2012-01-03 08:20:25

您可以直接将其放入类路径中,就像对clojure.jar所做的那样。如果这两个文件都在当前目录中,您应该用以下命令启动clojure

代码语言:javascript
复制
java -cp clojure-1.3.0.jar:numeric-tower.jar clojure.main

(或窗口)

代码语言:javascript
复制
java -cp clojure-1.3.0.jar;numeric-tower.jar clojure.main

但是,如果该项目位于clojars或maven存储库中,则更容易使用leiningen。它可以减少这类事情的很多麻烦。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8706655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档