我正在尝试 :gen-class 一个接受二维 Double 数组作为输入的 fn。我已经看过这个帖子和解决方案(链接),涉及类似的主题,但我仍然无法产生有效的解决方案。
(ns gui.heatmap
(:gen-class
:name gui.Heatmap
:methods [[heat-map2 ["[[D"] org.jfree.chart.JFreeChart]]))
(defn foo [dbl-array]
...)
我使用基于输入的
type
,来使用"[[D"
。这将编译成一个 .class 文件。现在,当我移动到另一个 .clj 文件时,我遇到了以下问题。
(ns ...
(import (gui.Heatmap)))
(defn bar [args]
...
(.foo
(into-array
(vector
(double-array <list of numbers>)
(double-array <list of numbers>)
(double-array <list of numbers>)))))
当我从repl调用
bar
时,我收到以下错误信息:
java.lang.IllegalArgumentException: No matching field found: heat_map2 for class [[D
有什么想法吗?
foo
声明为静态的(即(defn ^{:static true} -foo ...)
),那么我是否可以通过(Heatmap/-foo (into-array...))
调用foo
? - cryptic_star