разница между однонаправленной ассоциацией и зависимостью

Метод deep в ArrayLike рекурсивно преобразует многомерные массивы в WrappedArray и перезаписывает длинный префикс «WrappedArray» с «Array».

def deep: scala.collection.IndexedSeq[Any] = new scala.collection.AbstractSeq[Any] with scala.collection.IndexedSeq[Any] {
  def length = self.length
  def apply(idx: Int): Any = self.apply(idx) match {
    case x: AnyRef if x.getClass.isArray => WrappedArray.make(x).deep
    case x => x
  }
  override def stringPrefix = "Array"
}

Использование:

scala> val arr = Array(Array(1,2,3),Array(4,5,6))
arr: Array[Array[Int]] = Array(Array(1, 2, 3), Array(4, 5, 6))

scala> println(arr.deep)
Array(Array(1, 2, 3), Array(4, 5, 6))
0
задан user1946152 2 May 2013 в 12:35
поделиться