21

还是我必须专门列举我导入的每个类?

我现在正在学习 Clojure,能够在 REPL 中做这样的事情似乎很有用:

(import '(java.io *))

并不是说这是有效的语法,但如果有类似的东西会很好。它会节省一些打字,尤其是在修补时。在实际的生产代码中,我总是枚举我正在导入的每个类,不管语言如何,但不必这样做非常方便。

4

3 回答 3

21

Rich Hickey解释了为什么这是不可能的

于 2010-01-02T15:58:21.293 回答
2

除非我错过了更新,否则目前无法将通配符包含包到 Clojure 中的命名空间中。

于 2010-01-02T06:53:44.070 回答
1

目前似乎没有办法做到这一点。导入宏仅用于将指定的类导入当前命名空间。我尝试编写另一个宏来执行您想要的操作,但是对于 Clojure 使用的类加载器似乎不可能,因为它不允许我们访问包资源。

于 2010-01-02T08:13:14.743 回答