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                                          1
  case String => Char                                           2
  case IterableOnce[t] => t                                     3
  case Array[t] => t
  case ? => X                                                   4

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.