假设我想在 REPL 中执行以下操作:
(ns a1)
(defn adder [a b]
(+ a b))
(ns b1
(:require [a1 :as a]))
(println (a/adder 1 2))
如果代码是根据声明的命名空间在文件中定义的,这可以正常工作。但是,如果我们在 repl 中执行它 - 那么我们会在这一行得到一个错误:
(ns b1
(require [a1 :as a]))
错误是:
FileNotFoundException Could not locate a1__init.class or a1.clj on classpath:
clojure.lang.RT.load (RT.java:432)
现在我知道我可以明确地将命名空间的全名放在:
(println (a1/adder 1 2))
但我想缩写我的命名空间。(如果我的命名空间是 20 个字符或更多)。
我要更改什么以确保我可以以缩写方式引用 repl 上的不同名称空间?