还是我必须专门列举我导入的每个类?
我现在正在学习 Clojure,能够在 REPL 中做这样的事情似乎很有用:
(import '(java.io *))
并不是说这是有效的语法,但如果有类似的东西会很好。它会节省一些打字,尤其是在修补时。在实际的生产代码中,我总是枚举我正在导入的每个类,不管语言如何,但不必这样做非常方便。
还是我必须专门列举我导入的每个类?
我现在正在学习 Clojure,能够在 REPL 中做这样的事情似乎很有用:
(import '(java.io *))
并不是说这是有效的语法,但如果有类似的东西会很好。它会节省一些打字,尤其是在修补时。在实际的生产代码中,我总是枚举我正在导入的每个类,不管语言如何,但不必这样做非常方便。
Rich Hickey解释了为什么这是不可能的。
除非我错过了更新,否则目前无法将通配符包含包到 Clojure 中的命名空间中。
目前似乎没有办法做到这一点。导入宏仅用于将指定的类导入当前命名空间。我尝试编写另一个宏来执行您想要的操作,但是对于 Clojure 使用的类加载器似乎不可能,因为它不允许我们访问包资源。