Почему диапазон преобразовывается в вектор после операции карты?

После курсов Scala на Coursera Мартин Одерский показал пример кода:

1 to 5 map ( i => i*i )

И он сказалRange превращается вVector потому что они имеют один и тот же интерфейс (IndexedSeq) и результат не может быть представлен в видеRange (это было более ясно в его примере, так как он создал пару, которая не может быть представлена в видеRange).Я'

Я не уверен, что понимаю, потому что я думаю, что он сказал ранее, что в выражении for 1-й генератор определит тип элемента, который будет получен, и это не всегда так, по крайней мере, для.Range

И я'Я не уверен, чтобы понять, почему на выходеVector, так какVector может не быть единственной другой реализацией, которая может представлять результат, вычисленный выше.

Может кто-нибудь помочь мне понять эту часть, пожалуйста?

Ответы на вопрос(3)

Ваш ответ на вопрос