тогда? Список можно продолжить.

не добавитьforeachWithIndex метод на коллекциях Scala?

Это то, что я мог придумать до сих пор:

implicit def iforeach[A, CC <: TraversableLike[A, CC]](coll: CC) = new {
  def foreachWithIndex[B](f: (A, Int) => B): Unit = {
    var i = 0
    for (c <- coll) {
      f(c, i)
      i += 1
    }
  }
}

Это не работает:

Vector(9, 11, 34).foreachWithIndex { (el, i) =>
  println(el, i)
}

Вызывает следующую ошибку:

error: value foreachWithIndex is not a member of scala.collection.immutable.Vector[Int]
Vector(9, 11, 34).foreachWithIndex { (el, i) =>

Однако код работает, когда я явно применяю метод преобразования:

iforeach[Int, Vector[Int]](Vector(9, 11, 34)).foreachWithIndex { (el, i) =>
  println(el, i)
}

Выход:

(9,0)
(11,1)
(34,2)

Как мне заставить его работать без явного применения метода конвертации? Благодарю.

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

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