Comment puis-je effectuer une copie profonde d'un tableau 2D dans Scala?
Par exemple P>
val a = Array[Array[Int]](2,3) a(1,0) = 12
3 Réponses :
donné:
for(inner <- a) yield { for (elem <- inner) yield { elem } }
Les tableaux à Scala sont des matrices Java et donc mutable.
Vous pouvez utiliser la méthode code> clone code> de la classe code> de la classe. Pour un tableau code> multidimensionnel code>, utilisez mapper code> sur les dimensions supplémentaires. Pour votre exemple, vous obtenez
val b = a.map(_.clone)
TRANSPOSATEZ-LE deux fois
a.transpose.transpose
La discussion sur un sujet similaire peut être trouvée à: << a href = "http://stackoverflow.com/questions/1267436/what-is-the-asie-way-a-deeply-clone-copy-mutable- Scala-Object "Titre =" Quel est le moyen le plus simple de cloner profondément copier un objet scala mutable "> Stackoverflow.com/questions/1267436/... >
Ce n'est pas un code valide dans votre exemple. Pouvez-vous reformater?