Расширение коллекций Scala: Упражнение с одним основанным индексом Array

В качестве упражнения я хотел бы расширить коллекцию Scala Array до моего собственного OneBasedArray (делает то, что вы ожидаете, индексирование начинается с 1 ). Поскольку это неизменяемая коллекция, я бы хотел, чтобы она возвращала правильный тип при вызове фильтра / карты и т. Д.

Я прочитал ресурсы здесь , здесь и здесь , но я изо всех сил пытаюсь понять, как преобразовать это в массивы (или коллекции, отличные от тех, что в примерах). На правильном ли я пути с такой структурой?

class OneBasedArray[T] 
  extends Array[T] 
  with GenericTraversableTemplate[T, OneBasedArray]
  with ArrayLike[T, OneBasedArray]

Есть ли какие-нибудь дополнительные ресурсы, которые помогут объяснить расширение коллекций?

6
задан Community 23 May 2017 в 12:26
поделиться