По умолчанию scala Array
равен неизменяемый . Это означает, что метод :+
возвращает новый массив с новым значением, в то время как graphsArray
остается таким же, как и при его создании (пусто). Поскольку вы не назначаете результат :+
чему-либо, вы теряете результат.
Если вы хотите использовать изменяемый массив, вы можете использовать ArrayBuffer
. Если вы хотите сохранить неизменное поведение scala по умолчанию, вы можете использовать fold
, чтобы добавить все свои графики.
val emptyArray = Array.empty[Graph[Object, Object]]
val myGraphs = ...
val graphsArray = myGraphs.fold(emptyArray) { case (arr, elm) => arr :+ elm }