Der folgende Code erstellt eine temporäre Vector:Karte Bereich direkt an Array
0.to(15).map(f).toArray
^^^^^^^^
Sequence
^^^^^^^^^^^^^^^
temp Vector
^^^^^^^^^^^^^^^^^^^^^^^
Array
Der folgende Code erstellt eine temporäre Array:
0.to(15).toArray.map(f)
^^^^^^^^
Sequence
^^^^^^^^^^^^^^^
temp Array
^^^^^^^^^^^^^^^^^^^^^^^
Array
Gibt es eine Möglichkeit f über die Sequenz zu erfassen und direkt ein Array bekommen, ohne ein temporäres zu produzieren?
Können Sie kurz erklären, was 'breakOut' macht? – fredoverflow
Es scheint auch '0.to (15) .map [Int, Array [Int]] (f)' funktioniert bereits ohne die zusätzliche '(scala.collection.breakOut)' Parameterliste. – fredoverflow
Kurz gesagt, 'breakOut' ist eine Methode, die die richtige 'CanBuildFrom'-Instanz basierend auf dem gewünschten Eingabe- und Ausgabetyp findet, die der Compiler sonst möglicherweise nicht richtig ableiten kann. Mit der rechten "CanBuildFrom" -Instanz können Sie einen neuen Sammlertyp erstellen, während Sie über die ursprüngliche Sammlung mappen. Weitere Details unter https://stackoverflow.com/questions/1715681/scala-2-8-breakout –