Я пытаюсь понять, как все черты типа Seq
, Iterable
, Traverable
, TraversableLike
все работают вместе.
Я постепенно получаю немного паукавеб-диаграмма, как я пытаюсь нарисовать отношения в диаграмме классов UML.
Есть ли причина, например, scala.collection.immutable.Seq
наследуется от scala.collection.generic.GenericTraversableTemplate
, хотя она наследует эту черту от своего родителя scala.collection.immutable.Iterable
?
API коллекций, кажется, полон дублированных наследований, что наводит меня на мысль, что я чего-то не понял ...
Cheers, Ant