Construiește-ți cariera cu Currying în Scala

Publicat: 2020-07-06

Cuprins

Introducere în Scala

Scala, un limbaj de programare, a fost dezvoltat de Martin Odersky și grupul său de cercetare în 2003. Dezvoltarea Scala a fost o revoluție în lumea datelor mari. Este o limbă extrem de puternică și meritată, care avea să schimbe lumea pentru generațiile viitoare. Este bazat pe compilator, ceea ce îl face extrem de rapid și competent.

Marja semnificativă de libertate a Scala este Java Virtual Machine (JVM) . Codul Scala a fost mai întâi acumulat de un compilator Scala și este creat codul de octeți pentru echivalent, care va fi apoi mutat în mașina virtuală Java pentru a produce randamentul. Pe această linie, Scala s-a transformat în calea de progres pentru a face față măsurării gigantice a datelor mari.

De ce Scala îi place atât de mult în comunitatea de programare?

Scala are mai mult decât doar câteva motive pentru a fi preferat de diverși programatori. Să discutăm câteva dintre ele aici.

Este un limbaj cu mai multe paradigme

Scala este suficient de competent pentru a susține două paradigme de programare, adică Programarea funcțională (FP) și Programarea orientată pe obiecte (OOP).

Sintaxă succintă

Compilatorul din Scala, cunoscut și sub numele de Scala, este extrem de capabil și poate funcționa mai mult decât v-ați aștepta. Pentru a numi câteva lucruri, poate genera hasCode(), equals(), toString() și multe altele.

Usor de invatat

Deoarece Scala acceptă programarea orientată pe obiecte, este relativ ușor de învățat pentru programatori în comparație cu Java. Cu o comunitate online în creștere rapidă, forumurile Scala devin din ce în ce mai recurente. O mare parte a acestui lucru se datorează faptului că are biblioteci bune împreună cu o sintaxă îngrijită. În timp ce programatorii își fac drumul prin programarea funcțională și învață, ei își pot folosi în continuare abilitățile de programare orientate pe obiecte preexistente și pot construi lucruri în Scala.

Învață: este Python un limbaj orientat pe obiecte?

Noi oportunități de carieră

Datorită scalabilității sale masive, Scala este acum din ce în ce mai solicitată în industrie. Cu mărci de top precum Twitter, Quora, LinkedIn etc. migrând la Scala, este evident că ar căuta programatori calificați în Scala. Este doar o chestiune de timp până când Scala devine nevoia orelor pentru alte firme importante din alte industrii.

Tastat static

Compilatorul Scala își folosește inferența de tip la maximum de posibilități și, prin urmare, deși se simte dinamic, Scala este tastat metodic static. Acest lucru permite deducerea tipului pentru variabile și funcții în Scala.

Acum că am înțeles ce este Scala, să mergem mai departe și să înțelegem curry în Scala .

Curry la Scala

Currying poartă numele unui matematician american Haskell Curry, cunoscut pentru munca sa în logica combinatorie.

Currying în Scala poate fi definit ca strategia din spatele interpretării evaluării unei funcții care preia diverse argumente pentru a evalua un grup de funcții, fiecare cu o funcție unică.

Din punct de vedere matematic, îl putem scrie după cum urmează -

f1 = f(a)

f2 = f1(b)

rezultat = f2(c)

Și, pseudocodul pentru aceasta va fi ca -

rezultat = f(a)(b)(c)

Sintaxa Curryingului

Sintaxa folosită pentru efectuarea currying-ului în Scala este menționată după cum urmează:

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

De asemenea, poate fi scrisă după cum urmează:

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

Citiți: Salariu pentru dezvoltatori Java în India: pentru cei proaspăt și cu experiență

Cum să apelați o funcție Currying

Pentru a apela funcțiile curry în Scala, trebuie să atribuim valori variabilelor ' a' și ' b' menționate în ecuațiile de mai sus.

Ce sunt funcțiile parțial aplicate?

Sursă

Când o funcție este invocată, aceasta se face pentru a aplica funcția unui set de argumente. În cazul în care treceți toate argumentele anticipate, ajungeți să aplicați complet funcția. Când trimiteți doar câteva argumente, primiți înapoi o funcție aplicată parțial. Acest lucru vă oferă posibilitatea de a restricționa câteva argumente și de a le completa pe celelalte mai târziu.

Exemplu de funcție parțial aplicată –

Pasul 1: Definiți o funcție cu mai mulți parametri

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

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

Pasul 2: dați doar valoarea pentru variabila „ scala> def X = X(2)(_)

X: int => int

Rezultatul de aici creează o nouă funcție „X” de tip int => int.

Aici, X poate fi scris după cum urmează

def X(b:int) = 2 + b

Ceea ce înfățișează ecuația de mai sus este că atunci când X este însămânțat cu valoarea int inițială de 2, stă acolo în așteptarea unei alte valori int la care poate adăuga.

Ca o scurtă descriere, funcțiile aplicate parțial oferă următoarele capacități

  • Compuneți o funcție generală.
  • Faceți o anumită funcție din funcția generală.
  • Veți avea acces la ambele funcții, în ciuda tuturor.
  • Vă păstrați codul uscat, deoarece nu a fost nevoie să copiați-lipiți codul pentru a crea o nouă funcție.

Citiți despre: Top 27 de întrebări și răspunsuri la interviu Scala pentru începători

Compararea curry și funcții parțial aplicate (PAF)

Curryul și PAF-urile sunt strâns legate. Currying și funcțiile aplicate parțial pot părea echivalente - ambele vă transformă funcțiile în unele cu mai puține argumente. Cu toate acestea, există o distincție între ele.

  • Curry în Scala creează în mod constant funcții unare sau 1-are imbricate. Funcția astfel schimbată este încă, în mare măsură, similară cu prima.
  • Aplicația parțială creează funcții ale unui număr subiectiv de argumente. Funcția modificată nu este chiar aceeași cu prima – are nevoie de argumente mai puține în comparație cu prima.
  • Currying în Scala nu este o aplicație parțială, dar poate fi foarte bine executată folosind aplicația parțială. Nu puteți aplica curry unei funcții dacă nu ia cantitatea fixă ​​de parametri. Altfel nu va funcționa cu succes.

Scala Frameworks

Iată câteva cadre Scala preeminente pe care le puteți verifica pentru a înțelege bine Scala -

Play Framework

Lift Web

Cadrul Bowlerului

Acesta este momentul din istorie când literalmente fiecare ușă a fost deschisă generației actuale pentru a învăța și a urmări ceea ce își dorește. Există institute variate, mentori, servicii etc. pentru a permite învățarea și pentru a oferi validare sub formă de diplome și certificate.

Mai mult, este că acum se poate face din confortul dormitorului cuiva. u pGrad , fiind un jucător de top în acest segment de industrie a revoluționat sistemul de învățământ, câte un curs. De la MBA la drept, la asigurări și la știința datelor, upGrad a reușit să rupă toate cătușele educației contemporane și să provoace un val de revoluție în sectorul educației.

Încheierea

Pentru a verifica spectrul larg al cursurilor noastre sau pentru a înțelege cum facem ceea ce facem, nu ezitați să solicitați un apel sau să accesați site-ul nostru web .

Dacă sunteți interesat să aflați mai multe despre Programul Big Data, consultați programul PG Diploma în Dezvoltare Software Specializare în Big Data, care este conceput pentru profesioniști care lucrează și oferă peste 7 studii de caz și proiecte, acoperă 14 limbaje și instrumente de programare, mâini practice. la ateliere, peste 400 de ore de asistență riguroasă de învățare și plasare a unui loc de muncă cu firme de top.

Învață cursuri de dezvoltare software online de la cele mai bune universități din lume. Câștigați programe Executive PG, programe avansate de certificat sau programe de master pentru a vă accelera cariera.

Stăpânește Tehnologia Viitorului - Big Data

Program de certificat avansat în Big Data de la IIIT Bangalore