代码之家  ›  专栏  ›  技术社区  ›  Julien Chastang

二维Clojure基元数组是如何创建的?

  •  20
  • Julien Chastang  · 技术社区  · 16 年前

    我正在与Clojure交互的javaapi需要传递一个由double组成的2d数组;double[][]。如何创建 Clojure中的2d双打数组?我在找这样的东西

    (double-array-2d [[1 2] [3 4]])

    2 回复  |  直到 16 年前
        1
  •  27
  •   fogus    16 年前

    试试这个:

    (into-array (map double-array [[1 2] [3 4]]))
    
        2
  •  3
  •   Brian Carper    16 年前

    试试这个:

    (defn double-array-2d [coll]
      (let [w (count coll)
            h (apply max (map count coll))
            arr (make-array Double/TYPE w h)]
        (doseq [x (range w)
                y (range h)]
          (aset arr x y (double (get-in coll [x y]))))
        arr))
    
    推荐文章