Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Scala Grundkurs

Tupel

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Mit Tupeln ist die unkomplizierte Übergabe mehrerer Werte in einer simplen Datenstruktur sowohl bei Ausgabewerten als auch dem Pattern Matching möglich. Da Tupel-Konstrukte in Scala sehr häufig verwendet werden, sollten Sie sich mit diesem Thema intensiv beschäftigen.

Transkript

Den Begriff Tupel kennt man üblicherweise aus der Mathematik. Dort bezeichnet er eine endliche Menge von Objekten. Auch in der Programmierung wird ein Tupel dafür eingesetzt, um multiple Ausgaben mit einer statischen Anzahl zu kombinieren. Gerade in der Sprache Scala gehören Tupel zu einem der üblichsten Konstrukte, die man verwendet, und wie Sie genau einen solchen Tupel verwenden können, möchte ich Ihnen nun zeigen. In meiner Applikation habe ich nun Kunden, einen Warenkorb, Produkte mit Preisen und einen Online-Shop. Ganz konkret möchte ich nun Preise nutzen, um diese in einem Tupel abzubilden. Für die Erstellung eines Tupels gibt es eine besondere Syntax in Scala. Ich beginne zunächst einmal damit, dass ich die Klammern aufmache und schließe. Zusätzlich definiere ich innerhalb dieser Klammern einen Preis, beispielsweise von 10 Euro. An der Stelle wirken die Klammern nun überflüssig. Wenn ich nun ein Komma setze und einen weiteren Preis definiere, beispielsweise in Höhe von 20 Euro, so habe ich nun einen Tupel erstellt. Diese einfache Art der Notation erlaubt es mir also, relativ schnell an beliebigen Orten im Code einen Tuple zu erstellen. So eignet sich ein solches beispielsweise auch falls man mehrere Rückgabewerte innerhalb einer Funktion hat. Ein solches "tuple" definiert auch einige Methoden. Beispielsweise "copy", ähnlich wie eine Case-Class. Damit wird also dieses "tuple" kopiert und eine neue Instanz dieses "tuples" erstellt. Tupel sind wie Case-Classes unveränderlich nach ihrer Erzeugung. Des Weiteren kann ich ein neues "tuple" erzeugen, indem ich hier beide Elemente im "tuple" austausche, sodass 20 Euro das erste Element ist und 10 Euro das zweite. Alternativ kann ich auf das erste Element oder zweite Element direkt zugreifen. Da man ja bei einem "tuple" von einer endlichen Menge spricht, ist auch in Scala die Menge, die ein "tuple" abbilden kann, begrenzt. So enden Tupel also bei einer Menge von maximal 22 Elementen. Tupel sind mit ihrer Erzeugung im Übrigen auch fix definiert vom Typ. Das bedeutet, wenn an erster Stelle beispielsweise ein Preis steht und an zweiter Stelle auch, kann dort nicht später ein String beispielsweise stehen. Ähnlich wie Case-Classes unterstützen Tupel also auch die Destrukturierung. Dafür verwende ich also die Referenz auf die Case-Class "tuple2" in meinem Fall, da ich hier zwei Elemente in meinem Tupel habe, und erzeuge hier zwei Konstanten "price1" und "price2", die sich aus dem Tupel ableiten. Alternativ könnte ich selbstverständlich auch den ersten Preis über das "tuple" direkt abrufen. Besonders gern verwendet man Tupel bei der Datenverarbeitung, beispielsweise bei Zwischenergebnissen. Ich erstelle nun also eine Liste meiner beiden Preise und im nächsten Schritt nehme ich jeden dieser Preise und gebe zum einen den Preis selbst zurück, als auch eine Kopie des Preises, in der der Wert mit dem Mehrwertsteuersatz verrechnet wurde. So kann ich letztendlich auf Basis dieses Tupels eine Ausgabe generieren, die sowohl den ersten Wert als auch den zweiten Wert kennt. Also "Vor Steuern" und "Nach Steuern". Mit Tupeln lässt sich also eine endliche Menge von bis zu 22 Parametern abbilden. Da es sich dabei um eine statisch kompilierte Liste handelt, ist diese besonders effizient, im Gegensatz zur Verwendung herkömmlicher Listentypen. Selbstverständlich lassen sich nicht die selben Dinge damit abbilden, aber den Zweck, den man meistens mit Listen damit bezwecken möchte, können auch Tupel oft abbilden. Üblicherweise verwendet man solche Tupel dann auch im Kontext von Pattern-Matching, da sie sich dafür dank Destrukturierung besonders gut eignen.

Scala Grundkurs

Entdecken Sie die Möglichkeiten und Eigenschaften der modernen Programmiersprache Scala.

4 Std. 44 min (39 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Exklusiv für Abo-Kunden
Erscheinungsdatum:12.04.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!