Bauen Sie Ihre Karriere mit Currying in Scala auf

Veröffentlicht: 2020-07-06

Inhaltsverzeichnis

Einführung in Scala

Scala, eine Programmiersprache, wurde 2003 von Martin Odersky und seiner Forschungsgruppe entwickelt. Die Entwicklung von Scala war eine Revolution in der Welt von Big Data. Es ist eine äußerst solide und verdiente Sprache, die die Welt für kommende Generationen verändern würde. Es ist Compiler-basiert, was es extrem schnell und kompetent macht.

Der wesentliche Spielraum von Scala ist die Java Virtual Machine (JVM) . Scala-Code wurde zuerst von einem Scala-Compiler akkumuliert und der Byte-Code für das Äquivalent wird erstellt, der dann in die Java Virtual Machine verschoben wird, um den Ertrag zu erzeugen. In diesem Sinne wurde Scala zum Weg des Fortschritts im Umgang mit der gigantischen Masse von Big Data.

Warum wird Scala in der Programmier-Community so geschätzt?

Scala hat mehr als nur ein paar Gründe, von verschiedenen Programmierern bevorzugt zu werden. Lassen Sie uns hier einige davon besprechen.

Es ist eine Multi-Paradigma-Sprache

Scala ist kompetent genug, um zwei Programmierparadigmen zu unterstützen, dh funktionale Programmierung (FP) und objektorientierte Programmierung (OOP).

Prägnante Syntax

Der Compiler in Scala, auch bekannt als Scala, ist extrem leistungsfähig und kann mehr leisten, als Sie erwarten würden. Um nur einige Dinge zu nennen, kann es hasCode(), equals(), toString() und mehr erzeugen.

Leicht zu lernen

Da Scala die objektorientierte Programmierung unterstützt, ist es für Programmierer im Vergleich zu Java relativ einfach zu erlernen. Mit einer schnell wachsenden Online-Community werden Scala-Foren immer häufiger. Ein großer Teil davon ist, weil es feine Bibliotheken zusammen mit einer ordentlichen Syntax hat. Während sich Programmierer durch die funktionale Programmierung manövrieren und lernen, können sie dennoch ihre bereits vorhandenen objektorientierten Programmierkenntnisse nutzen und Dinge in Scala erstellen.

Lernen: Ist Python eine objektorientierte Sprache?

Neue Karrieremöglichkeiten

Aufgrund seiner massiven Skalierbarkeit wird Scala in der Industrie immer mehr nachgefragt. Da erstklassige Marken wie Twitter, Quora, LinkedIn usw. zu Scala migrieren, ist es offensichtlich, dass sie nach Programmierern suchen, die sich mit Scala auskennen. Es ist nur eine Frage der Zeit, bis Scala auch für andere Großunternehmen in anderen Branchen zum Gebot der Stunde wird.

Statisch getippt

Der Scala-Compiler nutzt seine Typinferenz bis zum Äußersten, und daher ist Scala, obwohl es sich dynamisch anfühlt, methodisch statisch typisiert. Dies ermöglicht den Typrückschluss für Variablen und Funktionen in Scala.

Nachdem wir nun verstanden haben, was Scala ist, wollen wir weitermachen und das Currying in Scala verstehen .

Curry in Scala

Currying ist nach dem amerikanischen Mathematiker Haskell Curry benannt, der für seine Arbeiten zur kombinatorischen Logik bekannt ist.

Currying in Scala kann als die Strategie hinter der Interpretation der Bewertung einer Funktion definiert werden, die verschiedene Argumente verwendet, um eine Gruppe von Funktionen mit jeweils einer Einzelfunktion zu bewerten.

Mathematisch können wir es wie folgt schreiben:

f1 = f(a)

f2 = f1(b)

Ergebnis = f2(c)

Und der Pseudocode dafür wird wie folgt lauten:

Ergebnis = f(a)(b)(c)

Syntax von Currying

Die Syntax, die zum Ausführen von Currying in Scala verwendet wird, wird wie folgt erwähnt:

def multipliziere(a:Int)(b:Int) = a*b

Es kann auch wie folgt geschrieben werden:

def multiply(a:Int) = (b:Int) => a*b

Lesen Sie: Gehalt für Java-Entwickler in Indien: Für Neulinge und Erfahrene

So rufen Sie eine Curry-Funktion auf

Um die Currying-Funktionen in Scala aufzurufen, müssen wir den in den obigen Gleichungen erwähnten Variablen ' a' und ' b' Werte zuweisen .

Was sind teilweise angewendete Funktionen?

Quelle

Wenn eine Funktion aufgerufen wird, geschieht dies, um die Funktion auf einen Satz von Argumenten anzuwenden. Falls Sie alle erwarteten Argumente übergeben, wenden Sie die Funktion am Ende vollständig an. Wenn Sie nur ein paar Argumente senden, erhalten Sie eine teilweise angewendete Funktion zurück. Dies gibt Ihnen die Möglichkeit, einige Argumente einzuschränken und den Rest später zu ergänzen.

Beispiel einer teilweise angewendeten Funktion –

Schritt 1: Definieren Sie eine Funktion mit mehreren Parametern

scala> def plus(a:int)(b:int) = a + b

plus: (a:int)(b:int)int

Schritt 2: Geben Sie nur den Wert für die Variable ' Skala> def X = X(2)(_)

X: int => int

Die Ausgabe hier erzeugt eine neue Funktion 'X' vom Typ int => int.

Hier kann X wie folgt geschrieben werden

def X(b:int) = 2 + b

Was die obige Gleichung darstellt, ist, dass wenn X mit dem anfänglichen int-Wert von 2 gesät wird, es dort sitzt und auf einen weiteren int-Wert wartet, zu dem es hinzugefügt werden kann.

Als Zusammenfassung ergeben teilweise angewendete Funktionen die folgenden Kapazitäten

  • Sie erstellen eine allgemeine Funktion.
  • Sie machen aus der allgemeinen Funktion eine bestimmte Funktion.
  • Sie haben trotz allem Zugriff auf beide Funktionen.
  • Sie halten Ihren Code trocken, da Sie keinen Code kopieren und einfügen mussten, um eine neue Funktion zu erstellen.

Lesen Sie mehr über: Die 27 wichtigsten Fragen und Antworten zu Scala-Interviews für Anfänger

Vergleich von Currying und Partially Applied Functions (PAFs)

Curry und PAFs sind eng miteinander verwandt. Curry- und teilweise angewendete Funktionen können gleichwertig erscheinen – beide verwandeln Ihre Funktionen in solche mit weniger Argumenten. Es gibt jedoch einen Unterschied zwischen ihnen.

  • Currying in Scala erzeugt konsequent verschachtelte unäre oder 1-äre Funktionen. Die dadurch veränderte Funktion ist der ersten noch weitgehend ähnlich.
  • Die partielle Anwendung erzeugt Funktionen einer subjektiven Anzahl von Argumenten. Die geänderte Funktion ist nicht ganz dieselbe wie die erste – sie benötigt im Vergleich zur ersten weniger Argumente.
  • Currying in Scala ist keine Teilanwendung, aber es kann sehr gut unter Verwendung der Teilanwendung ausgeführt werden. Sie können Curry nicht auf eine Funktion anwenden, wenn sie nicht die festgelegte Menge an Parametern benötigt. Es wird sonst nicht erfolgreich funktionieren.

Scala-Frameworks

Hier sind ein paar herausragende Scala-Frameworks, die Sie sich ansehen können, um ein gutes Verständnis von Scala zu bekommen –

Rahmen spielen

Heben Sie Web an

Bowler-Framework

Dies ist die Zeit in der Geschichte, in der der heutigen Generation buchstäblich jede Tür geöffnet wurde, um zu lernen und zu verfolgen, was sie wollen. Es gibt vielfältige Institute, Mentoren, Dienste etc., um Lernen zu ermöglichen und in Form von Abschlüssen und Zertifikaten zu validieren.

Darüber hinaus kann dies jetzt bequem vom Schlafzimmer aus erfolgen. u pGrad hat als Top-Player in diesem Industriesegment das Bildungssystem revolutioniert, einen Kurs nach dem anderen. Von MBA über Jura und Versicherung bis hin zu Data Science hat es upGrad geschafft, alle Fesseln der zeitgenössischen Bildung zu sprengen und eine Welle der Revolution im Bildungssektor auszulösen.

Einpacken

Um sich das breite Spektrum unserer Kurse anzusehen oder zu verstehen, wie wir tun, was wir tun, können Sie gerne einen Rückruf anfordern oder unsere Website besuchen .

Wenn Sie mehr über das Big Data-Programm erfahren möchten, schauen Sie sich unser PG Diploma in Software Development Specialization in Big Data-Programm an, das für Berufstätige konzipiert ist und mehr als 7 Fallstudien und Projekte bietet, 14 Programmiersprachen und Tools abdeckt, praktische Hand- auf Workshops, mehr als 400 Stunden gründliches Lernen und Unterstützung bei der Stellenvermittlung bei Top-Unternehmen.

Lernen Sie Softwareentwicklungskurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Meistern Sie die Technologie der Zukunft – Big Data

Advanced Certificate Program in Big Data vom IIIT Bangalore