Costruisci la tua carriera con Currying in Scala
Pubblicato: 2020-07-06Sommario
Introduzione a Scala
Scala, un linguaggio di programmazione, è stato sviluppato da Martin Odersky e dal suo gruppo di ricerca nel 2003. Lo sviluppo di Scala è stata una rivoluzione nel mondo dei big data. È un linguaggio estremamente solido e meritato che avrebbe cambiato il mondo per le generazioni a venire. È basato su un compilatore, il che lo rende estremamente veloce e competente.
Il significativo margine di manovra di Scala è la Java Virtual Machine (JVM) . Il codice Scala è stato prima accumulato da un compilatore Scala e viene creato il codice byte per l'equivalente, che verrà quindi spostato sulla Java Virtual Machine per produrre il rendimento. In questo senso Scala si è trasformata nella via del progresso per affrontare la gigantesca misura dei big data.
Perché Scala è così piaciuta nella comunità di programmazione?
Scala ha più di pochi motivi per essere preferito da vari programmatori. Discutiamone alcuni qui.
È un linguaggio multi paradigma
Scala è abbastanza competente da sostenere due paradigmi di programmazione, vale a dire, Programmazione Funzionale (FP) e Programmazione orientata agli oggetti (OOP).
Sintassi succinta
Il compilatore in Scala, noto anche come Scala è estremamente capace e può eseguire più di quanto ti aspetteresti. Per nominare alcune cose, può generare hasCode(), equals(), toString() e altro.
Facile da imparare
Poiché Scala supporta la programmazione orientata agli oggetti, è relativamente facile da imparare per i programmatori rispetto a Java. Con una community online in rapida crescita, i forum di Scala stanno diventando sempre più ricorrenti. Una parte importante di questo è perché ha belle librerie insieme a una sintassi ordinata. Mentre i programmatori si fanno strada attraverso la programmazione funzionale e imparano, possono comunque usare le loro abilità di programmazione orientata agli oggetti preesistenti e costruire cose in Scala.

Impara: Python è un linguaggio orientato agli oggetti?
Nuove opportunità di carriera
Grazie alla sua enorme scalabilità, Scala è ora sempre più richiesto nel settore. Con marchi di prim'ordine come Twitter, Quora, LinkedIn, ecc. che migrano su Scala, è ovvio che cercherebbero programmatori esperti in Scala. È solo questione di tempo prima che Scala diventi la necessità del momento per altre grandi aziende di altri settori.
Digitato staticamente
Il compilatore Scala usa la sua inferenza di tipo al massimo delle sue capacità e quindi, sebbene sembri dinamico, Scala è tipizzato metodicamente in modo statico. Ciò abilita l'inferenza del tipo per variabili e funzioni in Scala.
Ora che abbiamo capito cos'è Scala, andiamo avanti e comprendiamo il currying in Scala .
Curry a Scala
Currying prende il nome da un matematico americano Haskell Curry, noto per il suo lavoro in logica combinatoria.
Il currying in Scala può essere definito come la strategia dietro l'interpretazione della valutazione di una funzione che prende vari argomenti per valutare un gruppo di funzioni, ciascuna con una funzione solitaria.
Matematicamente, possiamo scriverlo come segue:
f1 = f(a)
f2 = f1(b)
risultato = f2(c)
E lo pseudo codice per questo sarà come -
risultato = f(a)(b)(c)
Sintassi di curry
La sintassi utilizzata per eseguire il curry in Scala è menzionata come segue:
def moltiplica(a:Int)(b:Int) = a*b
Può anche essere scritto come segue:
def moltiplica(a:Int) = (b:Int) => a*b

Leggi: Stipendio per sviluppatori Java in India: per matricole ed esperti
Come chiamare una funzione di curry
Per chiamare le funzioni di currying in Scala, dobbiamo assegnare valori alle variabili ' a' e ' b' menzionate nelle equazioni precedenti.
Cosa sono le funzioni parzialmente applicate?
Fonte
Quando una funzione viene invocata, viene eseguita per applicare la funzione a un insieme di argomenti. Nel caso in cui passi tutti gli argomenti previsti, finisci per applicare completamente la funzione. Quando invii solo un paio di argomenti, ottieni una funzione parzialmente applicata. Questo ti dà la possibilità di limitare alcuni argomenti e compilare il resto in seguito.
Esempio di una funzione parzialmente applicata –
Passaggio 1: definire una funzione con più parametri
scala> def più(a: int)(b: int) = a + b
più: (a: int)(b: int)int
Passaggio 2: fornisci solo il valore per la variabile ' scala> def X = X(2)(_)
X: int => int
L'output qui crea una nuova funzione 'X' del tipo int => int.
Qui X può essere scritto come segue
def X(b:int) = 2 + b
Ciò che rappresenta l'equazione sopra è che quando X viene seminato con il valore int iniziale di 2, rimane lì in attesa di un altro valore int a cui può aggiungere.
A titolo di riepilogo, le funzioni parzialmente applicate forniscono le seguenti capacità
- Componi una funzione generale.
- Si crea una funzione particolare dalla funzione generale.
- Avrai accesso a entrambe le funzioni nonostante tutto.
- Mantieni il tuo codice asciutto poiché non dovevi copiare e incollare il codice per creare una nuova funzione.
Leggi: Le 27 migliori domande e risposte dell'intervista a Scala per principianti
Confronto tra funzioni di curry e funzioni parzialmente applicate (PAF)
Curry e PAF sono strettamente correlati. Le funzioni di curry e parzialmente applicate possono sembrare equivalenti: entrambe trasformano le tue funzioni in funzioni con meno argomenti. Tuttavia, c'è una distinzione tra loro.
- Il currying in Scala crea in modo coerente funzioni unarie o 1-arie nidificate. La funzione così modificata è ancora, in larga misura, simile alla prima.
- L'applicazione parziale crea funzioni di un numero soggettivo di argomenti. La funzione modificata non è esattamente la stessa della prima: ha bisogno di argomenti minori rispetto alla prima.
- Curry in Scala non è un'applicazione parziale, ma può essere eseguita benissimo utilizzando l'applicazione parziale. Non puoi applicare curry a una funzione se non richiede la quantità fissa di parametri. Non funzionerà correttamente altrimenti.
Quadri Scala
Ecco alcuni framework Scala preminenti che puoi controllare per avere una buona comprensione di Scala:
Struttura del gioco
Solleva il Web
Quadro a bombetta

Questo è il momento della storia in cui letteralmente ogni porta è stata aperta alla generazione attuale per imparare e perseguire ciò che desiderano. Esistono vari istituti, tutor, servizi, ecc. per consentire l'apprendimento e fornire la convalida sotto forma di lauree e certificati.
Inoltre, ora può essere fatto comodamente dalla propria camera da letto. u pGrad , essere uno dei principali attori in questo segmento industriale ha rivoluzionato il sistema educativo, un corso alla volta. Dall'MBA alla giurisprudenza, dalle assicurazioni alla scienza dei dati, upGrad è riuscita a rompere tutte le catene dell'istruzione contemporanea e portare un'ondata di rivoluzione nel settore dell'istruzione.
Avvolgendo
Per controllare l'ampio spettro dei nostri corsi o per capire come facciamo quello che facciamo, sentiti libero di richiedere una richiamata o dai un'occhiata al nostro sito web .
Se sei interessato a saperne di più sul programma Big Data, dai un'occhiata al nostro PG Diploma in Software Development Specialization nel programma Big Data, progettato per professionisti che lavorano e fornisce oltre 7 casi di studio e progetti, copre 14 linguaggi e strumenti di programmazione, mani pratiche sui workshop, oltre 400 ore di rigoroso apprendimento e assistenza all'inserimento lavorativo con le migliori aziende.
Impara i corsi di sviluppo software online dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.
