如何在Clojure中的.core命名空间中提供所有命名空间中的函数?

时间:2015-03-22 01:26:07

标签: clojure namespaces

我有一个具有多个名称空间的库。我想如果我可以在核心命名空间中的所有命名空间中创建函数。这样我只需要example.core而不需要example.ns1example.ns2等。

以下是我在核心命名空间中的内容

(ns example.core
  (:require [example.options :refer :all]
            [example.playback :refer :all]
            [example.controlls :refer :all]
            [example.stored :refer :all]
            [example.db :refer :all]))

这是我试图要求它的方式

(ns test-app.core
  (:require [example.core :as e])

(e/foo) ; where foo is defined in one of the namespaces required by example.core

当我尝试执行时,我得到CompilerException java.lang.RuntimeException: No such var: e/foo

我可以追求的是什么?或者我是否必须单独导入多个名称空间?

感谢您的时间

1 个答案:

答案 0 :(得分:3)

您可以使用库Potemkin中的import-vars来执行此操作。