我写了一个小的命名空间来做一些数据库操作,我想在另一个命名空间中使用它。通常将文件放在同一目录中,然后执行
(ns program (:require [other-ns :as other]) (:gen-class))
将是所有必要的。然而,这在 Clojure CLR 中不起作用,编译器抱怨不知道 other-ns。那么这样做的正确方法是什么?每个命名空间都有一个单独的程序集?
[编辑] 另一个例子
另一个.clj
(ns another)
(defn hello [name] (str "Hello " name))
程序.clj
(ns program
(:require [another :as a])
(:gen-class))
我在 repl 中加载 program.clj 并收到以下消息:
FileNotFoundException 无法在加载路径上找到 another.clj.dll 或 another.clj。clojure.lang.RT.load (d:\work\clojure-clr\Clojure\Clojure\Lib\RT.cs:3068)