2017-02-15 1 views
0

Ich habe versucht, 2 vierdimensionale Array zusammen zu addieren, und ich habe den Fehler der Typ Mismatch; gefunden: Einheit erforderlich: Array [Array [Array [Array [Double]]]]Typ Mismatch für die Hinzufügung von Multidimension Array

Hier ist mein Code

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 } 

edit: korrigiert Syntax = zu: sorry für die Mühe

Antwort

1

Erste Aus, erstellen Sie mehrdimensionale Arrays ohne Inhalt.

Betrachten Sie Folgendes.

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

Dies schafft eine Array[Char] mit 21 leer ist (oder Null initialisiert) -Elemente.

Wenn Sie 2 4-dim-Arrays zippen, erhalten Sie auch ein Array von Tupeln, von denen jedes 2 3-dim-Arrays enthält.

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]]])] 

So können diese nicht zusammengefügt werden, ohne tiefer zu graben.