-->

Does Clojure have an equivalent of Java's impo

2019-02-16 08:42发布

问题:

Or do I have to specifically enumerate every class that I import?

I'm just learning Clojure now, and it seems useful to be able to do something like this in the REPL:

(import '(java.io *))

Not that this is valid syntax, but it would be nice to have something that does the equivalent. It would save some typing, especially when tinkering around. In actual production code I always enumerate each class that I'm importing, regardless of the language, but it's pretty convenient not to have to do so.

回答1:

Rich Hickey explains why it is not possible.



回答2:

Unless I missed an update, there is no way to wild card include packages into a namespace in Clojure currently.



回答3:

There seems to be no ways of doing that currently. The import macro is only there to import the specified classes into the current namespace. I've tried to write another macro to do what you want, but it doesn't appear to be possible with the class loader used by Clojure as it doesn't let us access package resources.