【发布时间】:2009-11-09 07:12:25
【问题描述】:
给定一个 java 包 x.y.z,我可以将 x.y.z 别名为一个较短的名称,以便我可以将包内的 java 类称为 my-alias.MyJavaClass。
如果这不可能,我可以将所有类 import 放入我的命名空间,但我不想手动指定每个类的名称,而且 clojure API 文档似乎并不清楚它是否是可以自动import 一个包中的所有类。
【问题讨论】:
标签: clojure
给定一个 java 包 x.y.z,我可以将 x.y.z 别名为一个较短的名称,以便我可以将包内的 java 类称为 my-alias.MyJavaClass。
如果这不可能,我可以将所有类 import 放入我的命名空间,但我不想手动指定每个类的名称,而且 clojure API 文档似乎并不清楚它是否是可以自动import 一个包中的所有类。
【问题讨论】:
标签: clojure
(目前)还没有任何功能。 Java 包与 Clojure 位于不同的命名空间中,因此通常的别名技巧将不起作用。
你可以做的是导入每个类,这样你就可以避免完整的包+类名:
(import [java.io File Writer Reader])
(new File "/")
; #<File />
Rich 提供了他不支持 (import [java.io.*]) here 的理由。
【讨论】: