Clojure's :gen-class and double arrays
我正在尝试:gen-class一个fn,该fn需要一个Double的2D数组作为输入。我已经在此处看到有关类似主题的帖子和解决方案,但仍然无法提供有效的解决方案。
1 2 3 4 5 6 7 | (ns gui.heatmap (:gen-class :name gui.Heatmap :methods [[heat-map2 ["[[D"] org.jfree.chart.JFreeChart]])) (defn foo [dbl-array] ...) |
我在输入上使用
现在,当我移至另一个.clj文件时,将显示以下内容。
1 2 3 4 5 6 7 8 9 10 11 | (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调用
java.lang.IllegalArgumentException:找不到匹配的字段:类[[D
有什么想法吗?
您缺少该对象。
注意,您还应该
编辑:
为了澄清事物。
- 修复丢失的物体
- 添加要求
- 修复前缀(dbyrne可以很好地捕获!)
- 修复:import子句(也是错误的)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | (ns gui.heatmap (:gen-class :name gui.Heatmap :methods [[heat-map2 ["[[D"] org.jfree.chart.JFreeChart]])) (defn -foo [dbl-array] ...) (ns ... (import gui.Heatmap)) (defn bar [args] ... (.foo (Heatmap.) (into-array (vector (double-array ) (double-array ) (double-array ))))) |
Kotarak的回答很好。但是,另一个问题是您需要将函数命名为