Ich habe ein 2D-Vektor wieClojure: definieren 2D-Primitiven-Arrays wie double [] []
(def data [[1 1] [1 1]])
Ich mag würde, um sie in ein Doppel [] [].
i sucht clojure.core und ich versuchte:
1)
(->> (map double-array data)
(to-array-2d))
Unfortnately gibt es Object [] [] Art der Daten, die in Java-Interop ausfällt.
2)
(->> (map double-array data)
(double-array))
Natürlich ist es nicht, weil doppelt Array funktioniert erwartet eine Sammlung von Zahlen
3) ich es nicht codieren, da es schwer ist, und ich weiß nicht, ob etwas esle existiere aber ich könnte ein double [] [] mit (make-array Double/Type 2 2) [2 2 hab von alen] initialisieren und dann mit loops füllen. Wie in Java in der Tat.
4) Ein kurzer Weg, aber ein wenig verdreht
(def double-2d-array-type
(type (double-array [])))
(->> (map double-array data)
(into-array double-2d-array-type)))
Gibt es einen direkten Weg? Wenn es möglich wäre, direkt double [] aufzurufen, wäre es besser.
Like "(in-Array double [] data)"
does '(in-array (Klasse/forName "[D") (map double-array [[1.0 1.2] [1.3 1.5]]))' => '#object [" [[D "0x16eccb2e" [ [D @ 16eccb2e "] adressiere das? – noisesmith
auch: http://stackoverflow.com/questions/3868192/how-do-i-create-a-primitive-two-dimensional-2d-array-of-doubles-in-clojure – birdspider