Ich habe daran gearbeitet, alles über scala zu lernen, und in letzter Zeit bin ich auf etwas gestoßen, auf das ich neugierig bin.
Wie ich verstehe, wenn ich einen Block Code übergeben möchte, der effektiv zu einer Funktion ausgewertet wird (ohne es sofort zu bewerten), könnte ich tippen:
%Vor%In diesem Sinne erhält die Funktion run einen noch zu bewertenden Codeblock, den sie auswertet und den berechneten Int von zurückgibt. Ich habe dann versucht, diese Idee auf die List-Datenstruktur zu erweitern. Eingabe:
%Vor%Dies gibt jedoch einen Fehler zurück. Ich habe mich gefragt, warum das nicht erlaubt ist. Wie kann ich außer dieser Syntax eine Liste nicht evaluierter Code-Blöcke weitergeben?
=>Int
ist die Syntax für Namensparameter. =>Int
ist kein Typ und kann daher nicht als Parameter für List
verwendet werden. % Co_de% ist jedoch ein Typ. Es ist die Art der Nullfunktionen, die ()=>Int
zurückgeben. So funktioniert das:
Tags und Links scala lazy-evaluation