繁体   English   中英

Clojure - java interop - 如何传递一个float数组>

[英]Clojure - java interop - How to pass a float array>

我需要从clojure调用一个java函数,它将一个float数组作为参数。 我怎么会在clojure中这样做?

我试过了

(classname/function [0.1f 0.2f]) - 但这不起作用。 显然问题在于参数数组。 我可以在没有问题的情况下调用类中的其他函数,只要它们不将数组作为参数。

有什么建议?

谢谢

看起来这个函数想要一个GLfloats数组,所以float-array快捷方式的构建可能无法满足你的需要。 通用数组构建器函数是(into-array type aseq)

所以看起来像是这样的:

(def my-array (into-array GLfloat [0.0 0.0 0.0]))

虽然更一般,但是数组更长。

尝试float-array 从文献:

user=> (doc float-array)
-------------------------
clojure.core/float-array
([size-or-seq] [size init-val-or-seq])
  Creates an array of floats
nil
user=> (float-array [1 2 3])
#<float[] [F@e1666>
user=> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM