Kapitel 17. Das Typensystem von Scala, Teil II
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
In diesem Kapitel setzen wir den Überblick über das Typensystem fort, den wir im vorherigen Kapitel begonnen haben, und behandeln fortgeschrittenere Konstrukte. Du kannst dieses Kapitel überspringen, wenn du die hier besprochenen Konzepte nicht verstehen musst.
Beginnen wir mit den Übereinstimmungsarten und dem breiten Thema der abhängigen Typisierung.
Spielarten
Scala 3 erweitert das Pattern-Matching, so dass es auf der Typenebene für Match-Typen funktioniert. Schauen wir uns ein Beispiel an, das aus der Scala-Dokumentation stammt. Die folgende Match-Typ-Definition gibt einen Typ zurück, der der Typparameter eines anderen Typs mit einem Typparameter ist. Zum Beispiel gibt sie für Seq[Int]
Int
zurück:
// src/script/scala/progscala3/typesystem/matchtypes/MatchTypes.scala
type
Elem
[
X
]
=
X
match
case
String
=>
Char
case
IterableOnce
[
t
]
=>
t
case
Array
[
t
]
=>
t
case
?
=>
X
Definiere einen Übereinstimmungstyp. ...
Get Scala programmieren, 3. Auflage 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.