Scala für das Verständnis

Scala für das Verständnis
Um die Sammlungen in Programmiersprachen zu iterieren, nutzen wir die Schleifen wie die für Schleife und während des Schleifens. Eine einzigartige Art von Schleife namens For-Compary wird von der Scala-Programmiersprache eingeführt. Das Konstrukt ist wie viele andere in Scala ein direkter Nachkomme von Haskell. Es kann für viel mehr verwendet werden, als nur durch Sammlungen zu gehen. Bei der Verwendung einer funktionalen Programmierung hilft es uns, mit der Komplexität der Syntax umzugehen.

Was ist Verständnis in Scala in Ubuntu 20.04

Das Format für (Enumeratoren) gibt „E“ in Verständnissen an, in denen die Enumeratoren eine Liste von Enumeratoren sind, die durch Semikolons getrennt sind. Ein Generator, der neue Variablen hinzufügt. Jede von den Aufzählern erzeugte Bindung wird durch ein Verständnis bewertet, das dann eine Sequenz von Werten für jeden Wert ausgibt.

Syntax des Verständnisses in Scala
Wir sind durch diese Definitionen auf die Konzepte von Definitionen, Filtern und Generatoren zum Verständnis gerichtet. Eine Scala for-of-of-of-ofdoysims beinhaltet die folgenden drei Ausdrücke:

für
e <- elements // generator
n = d.Name // Definition
if (Ausdruck) // Filter
Ertrag

Generatoren
Generatoren sind wie Iteratoren, die über alle Elemente iterieren. Hier sind zwei weitere Fakten zu Generatoren: (1) Ein Generator ist der erste Schritt in jedem Verständnis. (2) Mehrere Generatoren werden zum Verständnis verwendet.

Filter
Filter nehmen in Form von Booleschen Bedingungen innerhalb eines Verständnisses an. Ein Filter dient als Wache und verhindert, dass alle Werte verwendet werden, die gegen den booleschen Zustand verstoßen. Jede Variable, die im Rahmen des Verständnisses zugänglich ist.

Definitionen
Die Definition ist etwas, mit dem wir genau erklären, was wir erreichen oder tun wollen. Zum Beispiel können wir alle Operationen einbeziehen, die wir in den definierenden Teil ausführen möchten.

Beispiel 1: Verwenden des Verständnisses mit Erträgen

Um eine neue Sammlung aus einer vorhandenen Sammlung zu erstellen, kombinieren Sie die für Schleife, Ihren Algorithmus und eine Ertragserklärung. Ein Verständnis ist die Anwendung von A for Loop mit einer Ertragserklärung. Fügen Sie die Arbeit in einem Block nach dem Keyword für den Ertrag ein, wenn Ihr Ansatz zahlreiche Codezeilen erfordert:

Wir haben das Objekt als „Demo1“ erstellt, wo wir eine Definition der Hauptfunktion haben. Im Inneren haben wir die Fallklasse "Subjekt" konstruiert. Die Klasse enthält zwei Attribute: den auf Zeichenfolge -Typ festgelegten "Namen" und der "Artikel", der dem "int" -Typ zugewiesen ist. Danach haben wir eine Variable „Subjektbasis“ deklariert, die die Listendarstellung hat. Die Liste wird mit dem Namen der drei Fächer bzw. Artikelnummern initialisiert.

Als nächstes haben wir den Generator, die Definition und den Filter innerhalb des Verständnisses definiert, der in der Variablen „Morethanten“ eingestellt ist. Innerhalb des Verständnisses fuhr das „Subjekt“ über jedes Element in der „Subjektbasis“ über jedes Element. Dann haben wir eine Anweisung "If", die den Filter hier anzeigt. Die "if" -serklärung, die das Thema hat.Artikel> = 10 && Betreff.Artikel< 20 ” condition means that the article that doesn't seem to be between 10 and 20 is filtered away.

Unterhalb des Verständnisses haben wir das Schlüsselwort "Ertrag" verwendet, das das Thema hinzufügt.Name. Seit dem Thema.Name ist eine Zeichenfolge, der Ertragsbetreiber versammelt das Ergebnis als Liste [String].

In der Ausgabe können Sie die Liste der von den Artikel generierten Betreffnamen als größer als die Artikelnummer 10 und weniger als die Artikelnummer 20 visualisieren.

Beispiel 2: Verwenden von Verständnis ohne Erträge in Scala

Wir können den Ertrag im Verständnis auslassen. In diesem Fall gibt das Verständnis eine Einheit zurück. Wenn wir die Nebenwirkungen ausführen wollen, kann dies nützlich sein. Hier ist ein ähnliches Programm, das die Rendite nicht verwendet:

Wir haben das Programmobjekt als "Demo2" gestartet. Darin haben wir die Hauptmethodendefinition. Innerhalb der Hauptmethode haben wir eine andere Funktionsdefinition. Die Funktion ist definiert als "Überprüfungen", die die Variable "x" als Eingabe nimmt und sie mit dem Typ der INT festlegt. Wir haben diese Funktion den Verständnis zugewiesen. Der Verständnis hat den Generator und den Filter. Der Generator hat die Iteration durch i und j.

Dann wird hier der Zustand "i*j> = x" durchgeführt, wenn der Zustand als Filter bewacht wird. Da wir den Wert der Variablen "x" als "5" zugeteilt haben. In der anfänglichen Iteration sind i und j beide Null. Daher ist ich nicht größer als x, und daher wird nichts nachgebildet. Bevor ich auf 1 erhöht wird, wird J um dreimal um dreimal erhöht. Beide Werte von i und j bei jeder Iteration, bis die Bedingung erfüllt ist und von der Println -Methode gedruckt wird.

Der Scala -Compiler nach Zusammenstellung führt die folgenden Ergebnisse:

Beispiel 3: Verwenden des Verständnisses mit zwei Generatoren in Scala

Hier ist ein weiterer Fall, in dem wir zwei Generatoren im „For-COMPREIDESS“ beschäftigen, aber mit dem Keyword für Ertrag.

In diesem Beispiel haben wir eine Funktionsdefinition „Produkt“, die entwickelt wurde, um alle Zahlenpaare zwischen 0 und X-1 zu berechnen, deren Produkt mit einem bestimmten Wert y übereinstimmt. Wir haben zwei Generatoren, I und J, die um 1 bis x zunehmen. Wir verwenden dann den Filter nach Bedarf. Wir durch die Liste mit der für jede Schleife und die Zerstörung jedes Mitglieds als (i, j) iterieren. Dann die Paarungen ausgeben.

Wir haben auch die Liste erstellt, dass die Methode ohne Filter zurückgegeben wurde, um die Phasen anzuzeigen, die die Generatoren I und J einnehmen. Die Ergebnisse zeigen, dass einer der Generatoren zwar um N-1 zunimmt, der andere jedoch fest bleibt. Der zweite Generator erhöht sich um 1, wenn der erste N-1 erreicht.

Sie können die Ausgabe der mit und ohne den Filter erzeugten Liste in der Forderung wie folgt sehen:

Abschluss

Die unterschiedlichen Fähigkeiten und Funktionen von Scala -Verständnissen wurden uns somit über den oben genannten Artikel auf uns aufmerksam gemacht. Mit Hilfe mehrerer Beispiele haben wir die verschiedenen Vorteile der Verwendung des Scala -Verständnisses im Scala -Programmiermodell gezeigt. Danach haben wir über die vielen Funktionen und wie der Ertrag funktioniert. Infolgedessen können wir nun den Code erstellen und gleichzeitig das Scala -Verständnis verwenden.