2010-10-05 74 views

回答

26

试试这个:

(into-array (map double-array [[1 2] [3 4]])) 
+0

谢谢@fogus。这是一个不错的,优雅的解决方案。我期待完成你的书。 – 2010-10-06 03:07:35

+0

这是可能的最快方式吗?这是否已经照顾到类型暗示? – 2010-10-06 18:47:49

+0

4年前Upvoted。仍然是一个很棒的答案。 – charleslparker 2017-04-20 21:05:34

3

试试这个:

(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)) 
+0

谢谢@布赖恩。我喜欢你的博客,BTW。 – 2010-10-06 03:10:36