Ich verstehe in Scala, dass Int implizit in RichInt konvertiert wird. Wo in der Quelle passiert das (ich habe die Scala-Quelle durchsucht, aber ich konnte sie nicht finden ...)
Sehen Sie sich Predef.intWrapper(Int): RichInt
Dies wird von Predef
von LowPriorityImplicits
übernommen. Vererbte Implikationen haben niedrigere Prioritäten als nicht vererbte.
Beachten Sie, dass Sie beim Durchsuchen der Bibliotheksquelle die Konvertierung nicht wirklich sehen können. Der beste Weg, sie in einem kleinen Ausschnitt zu sehen, besteht darin, sie mit der Option -Xprint:typer
zu kompilieren (oder sie in der REPL auszuführen). Dies zeigt die Konvertierung, die vom Typer eingefügt wird, um den Code zu kompilieren, wenn die Typen nicht übereinstimmen:
Tags und Links scala implicit-conversion int