Scala For Loop | For Loop în Scala: explicat

Publicat: 2021-02-19

În Scala, o buclă for este cunoscută și sub denumirea de for-comprehensions . Poate fi folosit pentru a repeta, filtra și returna o colecție repetită. For -comprehensiunea arată destul de asemănător cu o buclă for în limbile imperative; totuși, diferența este că întocmește o listă a rezultatelor aliterațiilor.

Există mai multe forme de for-loop în Scala , care sunt descrise mai jos:

Cuprins

For-Loop cu intervale

Sintaxă

Cea mai simplă sintaxă a unei bucle for cu intervale în Scala este prezentată mai jos:

for( var x <- Interval ){

declarație(e);

}

După cum este descris mai sus, Intervalul poate fi orice interval de numere, reprezentat ca i la j sau uneori ca i până la j . Operatorul săgeată stânga ← este cunoscut ca un generator deoarece generează valori individuale dintr-un interval.

Alternativ, se poate folosi și sintaxa:

pentru(w <- interval){

// Cod..

}

Aici, w este o variabilă, operatorul ← cu săgeata stângă este generatorul, iar intervalul este valoarea care deține valorile de început și de sfârșit. Intervalul este reprezentat folosind fie i la j, fie i până la j.

Exemplu Scala For-Loop folosind cuvântul cheie „to”

Folosirea „to” cu for-loop include atât valorile de început, cât și cele de sfârșit. În exemplul de mai jos, putem folosi „to” pentru a tipări valori între 0 și n. Cu alte cuvinte, bucla începe de la 0 și se termină la 10, ceea ce înseamnă că putem tipări numerele de pagină de la 0 la 10.

// Programul Scala pentru a ilustra cum

// creează bucla for folosind to

obiect Main

{

def main(args: Array[String])

{

println(„Valoarea lui w este:”);

// Aici, bucla for începe de la 0

// și se termină la 10

pentru (w <- 0 la 10)

{

println(w);

}

}

}

Ieșire:

În exemplul prezentat mai sus, valoarea lui w este:

0

1

2

3

4

5

6

7

8

9

10

Citește: Top 10 abilități pentru a deveni un dezvoltator full stack

Exemplu Scala For-Loop folosind cuvântul cheie „până”

Diferența dintre utilizarea până și până este; to include valorile de început și de sfârșit date într-un interval, în timp ce până exclude ultima valoare a intervalului dat. În exemplul de buclă for ilustrat mai jos, putem folosi până pentru a imprima valori între 0 și n-1. Cu alte cuvinte, bucla începe la 0 și se termină la n-1, care iese la 9. Deci, putem tipări numerele de pagină de la 0 la 9.

// Programul Scala pentru a ilustra cum

// creează bucla for folosind până

obiect Main

{

def main(args: Array[String])

{

println(„Valoarea lui w este:”);

// Aici, bucla for începe de la 0

// și se termină la 10

pentru (w <- 0 până la 10)

{

println(w);

}

}

}

Ieșire:

În exemplul prezentat mai sus, valoarea lui w este:

0

1

2

3

4

5

6

7

8

9

Citește și: Python vs Scala

Valori multiple în bucla For

De asemenea, putem folosi mai multe intervale într-o singură buclă for . Aceste intervale sunt separate folosind punct și virgulă (;). Să înțelegem asta cu ajutorul unei ilustrații. În exemplul de mai jos, am folosit două intervale diferite într-o singură buclă, adică w <- 0 la 3; z <- 8 până la 10.

// Programul Scala pentru a ilustra cum

// creează mai multe intervale în bucla for

obiect Main

{

def main(args: Array[String])

{

// pentru buclă cu mai multe intervale

pentru (w <- 0 până la 3; z<- 8 până la 10)

{

println(„Valoarea lui w este :” +w);

println(„Valoarea lui y este :” +z);

}

}

}

Ieșire:

Valoarea lui w este: 0

Valoarea lui y este: 8

Valoarea lui w este: 0

Valoarea lui y este: 9

Valoarea lui w este: 1

Valoarea lui y este: 8

Valoarea lui w este :1

Valoarea lui y este: 9

Valoarea lui w este:2

Valoarea lui y este: 8

Valoarea lui w este:2

Valoarea lui y este: 9

Valoarea lui w este:3

Valoarea lui y este: 8

Valoarea lui w este:3

Valoarea lui y este: 9

Checkout: Full Stack Developer Salariul în India

For-Loop cu colecții

În Scala, putem folosi for-loop pentru a repeta eficient colecții precum listă, secvență etc., fie utilizând o buclă for-each, fie o buclă for-comprehensions . Sintaxa unei bucle for cu colecții în Scala este prezentată mai jos:

Sintaxă

for( var x <- List ){

declarație(e);

}

Aici, lista de variabile este un tip de colecție cu o listă de elemente și o buclă for iterează prin toate elementele care returnează câte un element în variabila x la un moment dat.

Să ne uităm la programul demonstrativ de mai jos pentru a înțelege o buclă for cu colecții . În ilustrație, am creat o colecție folosind variabila List pentru a enumera autorii în funcție de rangurile lor.

// Programul Scala pentru a ilustra cum

// folosiți for loop cu colecție

obiect Main

{

def main(args: Array[String])

{

rang var = 0;

val ranklist = Listă (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

// Pentru buclă cu colecție

pentru( rank <- ranklist){

println(„Rangul autorului este: ” +rank);

}

}

}

Ieșire:

Rangul autorului este: 1

Rangul autorului este: 2

Rangul autorului este: 3

Rangul autorului este: 4

Rangul autorului este: 5

Rangul autorului este: 6

Rangul autorului este: 7

Clasamentul autorului este: 8

Clasamentul autorului este: 9

Clasamentul autorului este: 10

For-Loop cu filtre

For-loop în Scala vă permite să filtrați elemente dintr-o colecție dată folosind una sau mai multe instrucțiuni if ​​din for-loop . Utilizatorii pot adăuga, de asemenea, mai mult de un filtru la o expresie „pentru” folosind punct și virgulă (;) pentru a le separa. Mai jos este listată sintaxa pentru bucla for cu filtre .

Sintaxă

for( var x <- List

dacă condiția1; dacă condiția 2...

){

declarație(e);

}

Să înțelegem asta mai bine cu ajutorul unui exemplu. Ilustrația de mai jos folosește două filtre pentru a segrega colecția dată. De exemplu, în eșantionul de mai jos, filtrele elimină lista de autori cu ranguri mai mari de 2 și mai mici de 7.

// Programul Scala pentru a ilustra cum

// folosește bucla for cu filtre

obiect Main

{

def main(args: Array[String])

{

rang var = 0;

val ranklist = Listă (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

// Pentru buclă cu filtre

pentru( rank <- ranklist

dacă rangul < 7; dacă rang > 2)

{

println(„Rangul autorului este: ” +rank);

}

}

}

Ieșire:

Rangul autorului este: 3

Rangul autorului este: 4

Rangul autorului este: 5

Rangul autorului este: 6

For-Loop cu randament

În Scala, valoarea returnată a buclei este stocată într-o variabilă sau poate reveni printr-o funcție. Pentru a face acest lucru, ar trebui să prefixați corpul expresiei „pentru” cu cuvântul cheie randament . Mai jos este listată sintaxa pentru for-loop cu yield .

Sintaxă

var retVal = for{ var x <- List

dacă condiția1; dacă condiția 2...

}

randament x

Notă − Acoladele listează variabilele și condițiile, iar retVal este o variabilă în care toate valorile lui x vor fi stocate sub formă de colecție.

Să înțelegem asta mai bine cu ajutorul unei ilustrații. În exemplul de mai jos, rezultatul este o variabilă în care toate valorile rangului sunt stocate sub forma unei colecții. Bucla for afișează numai lista autorilor al căror rang este mai mare de 4 și mai mic de 8.

// Programul Scala pentru a ilustra cum

// folosește bucla for cu randamente

obiect Main

{

def main(args: Array[String])

{

rang var = 0;

val ranklist = Listă (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

// Pentru buclă cu randamente

var output = for{ rank <- ranklist

dacă rangul > 4; dacă rang != 8 }

rang de randament

// Afișează rezultatul

pentru (rank <- output)

{

println(„Rangul autorului este: ” + rang);

}

}

}

Ieșire:

Rangul autorului este: 5

Rangul autorului este: 6

Rangul autorului este: 7

Clasamentul autorului este: 9

Clasamentul autorului este: 10

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

Concluzie

Dacă sunteți interesat să aflați mai multe despre dezvoltarea de software full-stack, consultați programul Executive PG de la upGrad și IIIT-B în dezvoltarea software full-stack, care este conceput pentru profesioniști care lucrează și oferă peste 500 de ore de formare riguroasă, peste 9 proiecte, și misiuni, statutul de absolvenți IIIT-B, proiecte practice practice și asistență la locul de muncă cu firme de top.

Ce este limbajul de programare Scala?

Scala este un limbaj de programare de uz general conceput pentru a exprima modele comune de programare într-un mod concis, elegant și sigur de tipare. Este un limbaj hibrid funcțional și orientat pe obiecte, acceptă constructe de programare funcțională, cum ar fi funcțiile de ordin superior și evaluarea leneșă, dar are și caracteristici ale unui limbaj orientat pe obiecte, cum ar fi clase, literale obiect și inferență de tip. Scala este unul dintre cele mai proeminente limbaje concepute pentru Java Virtual Machine (JVM), dar poate fi compilat și în codul sursă JavaScript sau poate utiliza .NET Common Language Runtime (CLR).

Ce sunt buclele în programare?

Buclele sunt instrucțiuni de programare care repetă un bloc de instrucțiuni de un alt număr de ori (un număr întreg). Există două tipuri de bucle - for și while. O buclă repetă un bloc de cod până când este îndeplinită o anumită condiție. Puteți utiliza o buclă pentru a efectua aceeași sarcină din nou și din nou până când criteriile specificate sunt îndeplinite. Există mai multe tipuri de bucle, cum ar fi – bucla for, bucla while, bucla do while și bucla foreach. Fiecare dintre aceste tipuri are propriile avantaje și cazuri de utilizare. De exemplu, dacă doriți să treceți printr-o matrice de un număr fix de ori, puteți utiliza buclele for. Dacă doriți să faceți bucla pe baza unei condiții, puteți utiliza buclele while. Dacă doriți să accesați elementele unei matrice, puteți utiliza bucle foreach.

Care este viitorul limbajului Scala?

Scala este un limbaj de programare de uz general care încorporează principii de programare funcțională. Este independent de platformă. Scala este un limbaj tipizat static cu inferență de tip. De asemenea, permite ca codul să fie scris într-un stil orientat pe obiecte. Scala are biblioteci bogate și este concizie în codificare. Acești factori fac din Scala un limbaj de programare foarte popular. Dacă sunteți un programator java, atunci puteți utiliza Scala mai ușor. Dacă nu sunteți un programator Java și doriți totuși să utilizați Scala, atunci puteți utiliza sistemul de interpretări Scala. Scala are o comunitate în creștere rapidă și a ajunge pe primul loc în clasament nu mai este o chestiune de timp.