Scala 2.8 breakOut

In der Scala2.8gibt es ein Objekt inscala.collection.package.scala:

def breakOut[From, T, To](implicit b : CanBuildFrom[Nothing, T, To]) =
    new CanBuildFrom[From, T, To] {
        def apply(from: From) = b.apply() ; def apply() = b.apply()
 }

Mir wurde gesagt, dass dies zu folgenden Ergebnissen führt:

> import scala.collection.breakOut
> val map : Map[Int,String] = List("London", "Paris").map(x => (x.length, x))(breakOut)

map: Map[Int,String] = Map(6 -> London, 5 -> Paris)

Was geht hier vor sich? Warum istbreakOut gerufen werdenals Argument zu meinemList?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage