2012-12-31 57 views
1

在Clojure中,如果我想在clojure.inspector功能来拉,我可以是这样的:为什么我不能使用Clojure代码访问我的Leiningen依赖项?

(use `[clojure.math.numeric-tower :include (expt)]) 

从REPL,我现在可以评估功能EXPT。

但是,在我看来,应该有(也可能是)另一种方式来做到这一点 - 使用Leiningen依赖关系拉入代码。

我这一行添加到我的project.clj:

[org.clojure/math.numeric-tower "0.0.2"] 

我重新启动REPL在新的依赖拉动。我甚至做“lein deps”是安全的(这个命令没有输出)。当我尝试评估expt时,它给我一个RuntimeException,并说它无法解析该符号。

如何访问expt函数,仅使用Leiningen依赖关系?

回答

3

你不能。它不这样工作。添加依赖关系会将代码放在类路径上,这仅表示它可供您使用。为了实际使用的命名空间里面的东西,你需要使用

(require '[the-namespace :refer [the things you want to use]]) 

(require '[the-namespace :as tn]) 
(tn/somevar) 

或做任何的那些东西在NS声明(不用时REPL,并与工作文件)

(ns foo 
    (:require [the-namespace :as tn])) 
+0

Gotcha。非常感谢。 –

相关问题