Inferenz

Statisch typisierte Sprachen können sehr langatmig sein. Sehen Sie sich die folgende typische Deklaration in Java an:

import java.util.Map;
import java.util.HashMap;
...
Map<Integer, String> intToStringMap = new HashMap<Integer, String>();

Die Typparameter <Integer, String> müssen wir hier zweimal angeben. (In Scala bezeichnet man explizite Typdeklarationen wie HashMap<Integer, String> als Typannotationen.)

Scala unterstützt Typinferenz (Rückschließen auf den Datentyp, vgl. beispielsweise [TypeInference] und [Pierce2002]). Der Compiler dieser Sprache kann, wenn keine expliziten Typannotationen angegeben sind, eine ganze Menge Informationen über einen Datentyp aus dem Kontext erkennen. Hier ist dieselbe Deklaration für Scala so umgeschrieben, ...

Get Programmieren mit Scala now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.