Ich habe gefunden, dass Scala immer eine "natürliche Erklärung" zu irgendetwas hat. Immer etwas wie "ohh, aber das ist nur eine Funktion, die an diesem und jenem Objekt mit diesem und diesem Parameter aufgerufen wird". In gewissem Sinne ist nichts wirklich Compiler-Magie, wie wir es aus anderen Sprachen kennen.Scala "<-" für das Verständnis
Meine Frage ist auf der <- Operator wie in den folgenden Code verwendet:
for(i <- 0 to 10) println(i)
In diesem Beispiel habe ich es so etwas wie neu geschrieben sehen:
0.to(10).foreach((i:Int)=>println(i))
aber das erklärt nicht, wie die i in die anon getragen wurde ymous Funktion innerhalb der Foreach-Funktion. An dem Punkt, wo Sie schreiben ich ist es kein Objekt, und noch nicht eine deklarierte Variable. Was ist es und wie wird es in das Innere von foreach übertragen?
Meine Vermutung ist, dass ich endlich etwas gefunden, die in der Tat Compiler ist Magie
Vielen Dank für Ihre Zeit.
Um zu klären, meine Frage ist: Wie funktioniert die < - Operator Arbeit in der ersten Zeile des Codes, da ich an dem nicht ein Objekt ist, kann es als eine Funktion aufgerufen werden.
Dies scheint die Antwort zu sein. Ich würde vorschlagen, dass Sie dies dokumentieren, wenn es möglich ist, es ist jetzt irgendwie aus heiterem Himmel. – Felix
@Felix: Es ist in der Spezifikation dokumentiert. Und so ziemlich jedes Scala-Buch, das auf dem Markt erhältlich ist, deckt es ab. – missingfaktor
oh yeah, ich habe noch kein Buch bekommen. Warten auf das definitive 2.8 Buch – Felix