2017-02-15 59 views
0

我試圖將2個四維數組一起添加,並且出現類型不匹配的錯誤;發現:需要單位:數組[數組[數組[數組[雙]]]]添加多維數組的類型不匹配

這裏是我的代碼

val a = Array.ofDim[Int](3,1,4,2) 
val b = Array.ofDim[Double](4,1,5,3) 

var c : Array[Array[Array[Array[Double]]]] = Array() 

c = (a zip b).map{ case (x,y) => x + y } 

編輯:糾正語法=到: 遺憾的麻煩

回答

1

第一關閉,你正在創建沒有任何內容的多維數組。

請考慮以下情況。

val x = Array.ofDim[Char](21) 
x.length  // res0: Int = 21 
x.head.toInt // res1: Int = 0 

這創建了一個Array[Char],其中包含21個空(或零初始化)元素。當你壓縮2個4-dim數組時,你會得到一個元組數組,每個元組包含2個3-dim數組。

val a = Array.ofDim[Int](3,1,4,2) 
val b = Array.ofDim[Double](4,1,5,3) 
a zip b // res0: Array[(Array[Array[Array[Int]]], Array[Array[Array[Double]]])] 

所以如果不深入挖掘,這些不能一起添加。