Ich versuche zu verstehen, wie Future funktioniert und ich stieß auf seine apply()
. Die api sagt dies über die apply()
apply() Rückgabe des gleichen Objekts
Startet eine asynchrone Berechnung und gibt ein
Future
Objekt mit das Ergebnis dieser Berechnung
ich es besser, indem ein einfaches Objekt, verstehen wollte Willen deren Anwendung Rückgabe des gleichen Objekts mit geänderten Feldern Betrachten wir zum Beispiel den folgenden Code:
object Rough extends App {
trait Sample
object Sample {
var x: Int = 0
def apply[T](body: => T): String= {
"Hello " + body
}
}
val s: String = Sample.apply("World")
print(s)
}
die Gerade jetzt gilt ein String
zurück. Ich möchte es Sample[Int]
zurückgeben. Genauer gesagt möchte ich, dass apply()
Sample[Int]
zurückgibt, wobei der Int-Wert die Länge von Zeichenfolgen ist, die an die apply()
übergeben wurde. Wie kann ich das machen?
Und noch ist, dass „gibt ein' Future' Objekt“(oder„ein 'Sample' Objekt“) bedeutet nicht, es gibt „das gleiche Objekt“, dh die definierte Aufgabe durch 'Objekt Future', aber ein Objekt, das 'Trait Future [A]' erweitert. –