我正在编写一些 clojure 代码,并且我依靠 Joda 时间来处理时间。问题是我不知道要导入什么,文档也不是很清楚。现在我知道这里有人可能会在不到 5 秒的时间内给我正确的答案,但我宁愿知道如何自己解决这个问题(除了翻阅文档直到找到正确答案)。
如果我在 Python 中执行此操作,我将导入顶级包并使用 和 的组合dir
来help
确定我需要导入的内容。有没有办法在clojure中做到这一点?或者有没有其他类型的java工具来解决这个问题?我更喜欢面向命令行的东西。
我正在编写一些 clojure 代码,并且我依靠 Joda 时间来处理时间。问题是我不知道要导入什么,文档也不是很清楚。现在我知道这里有人可能会在不到 5 秒的时间内给我正确的答案,但我宁愿知道如何自己解决这个问题(除了翻阅文档直到找到正确答案)。
如果我在 Python 中执行此操作,我将导入顶级包并使用 和 的组合dir
来help
确定我需要导入的内容。有没有办法在clojure中做到这一点?或者有没有其他类型的java工具来解决这个问题?我更喜欢面向命令行的东西。
通常我会选择 David Grant 的答案,但如果你找不到任何 JavaDoc (!),但你有一个 jar 文件,你可以使用 jar 实用程序列出 jar 中的文件。
类文件所在的目录直接映射到其包名。例如,jar -tf joda-time-1.6.jar | more
将 DateTime.class 列为org/joda/time/DateTime.class
; 日期时间在org.joda.time
包中。
dir
与检查 Python 中的包文档的方式相同,help
可以通过阅读特定 API 的 Javadocs 来收集 Java 中的有用信息。在 Joda Time 的情况下,该网站有一个指向生成文档的直接链接,在这里:
http://joda-time.sourceforge.net/api-release/index.html(见左下框)
我想不出任何与您所要求的内容直接可比的东西,因为除非您向类加载器询问特定类,否则类加载器不会加载它,您将无法找到它。
Bill Clementson 编写了一小段代码,可帮助您查看 REPL 中的 javadoc 文档。
http://dishevelled.net/Generating-Clojure-import-lines-using-SLIME.html 使查找导入非常容易。就我个人而言,我只是使用 REPL 中定义的 clojure 函数 find-classes。