【问题标题】:Clojure: are there docs for java functions e.g. Math/exp?Clojure:是否有 java 函数的文档,例如数学/经验?
【发布时间】:2014-02-24 08:27:47
【问题描述】:

我希望(doc Math/exp) 能给我一些东西,但它没有。 当然它不是 Clojure 函数,但仍然应该有一些方法可以访问文档。

我能得到的最接近的东西是(javadoc Math)。 我更喜欢该页面中的实际文档作为字符串:

static double exp(double a)
Returns Euler's number e raised to the power of a double value.

UPD:反射签名

获取签名的方法如下:

(.toString (first (filter #(= (.getName %) "exp") (.getMethods Math))))

我希望以类似的方式获取文档。

UPD:通过反射没有文档

根据问题How to read Javadoc comments by reflection?, 无法通过反射获得文档。 我想知道是否可以重用一些确实可以访问文档的 Eclipse 代码。

【问题讨论】:

  • 好吧,写那个函数!一切尽在掌握。
  • 哈哈。毫无疑问,它是可写的,但即使在最好的情况下,我也有一个黑客必须连接到互联网并解析 html 才能获取文档,而不是可以离线使用并正确索引的实体。
  • 您也可以安装 JDK 源代码,并解析它们的 doc cmets。想想,其实应该不会太难。使用类名查找文件,然后用一点正则表达式技巧来查找函数并提取/** (.+?) */
  • 好吧,这比互联网好,但仍然如此。我不是 Java 专家,但是否可以通过 Java 内省/反思获得一些文档?

标签: emacs clojure nrepl cider


【解决方案1】:

只需开始输入您打算使用的方法名称:

(java.lang.Math/exp)

将光标放在“exp”上,按M-。

查看 CIDER 文档了解更多相关热键 https://cider.readthedocs.io/en/latest/interactive_programming/

如果您还安装了“公司模式”,那么通过自动完成搜索您打算使用的课程也变得更加容易。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-28
    • 2014-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    相关资源
    最近更新 更多