Scala dla pętli | Pętla w Scali: wyjaśnienie

Opublikowany: 2021-02-19

W Scali pętla for jest również znana jako for-comprehension . Może służyć do iteracji, filtrowania i zwracania przećwiczonej kolekcji. For -comprehension wygląda podobnie do pętli for w językach imperatywnych; jednak różnica polega na tym, że zestawia listę wyników aliteracji.

W Scali istnieje kilka form pętli for , które opisano poniżej:

Spis treści

For-Loop z zakresami

Składnia

Najbardziej nieskomplikowana składnia pętli for z zakresami w Scali jest pokazana poniżej:

for( var x <- zakres ){

sprawozdania);

}

Jak pokazano powyżej, Zakres może być dowolnym zakresem liczb, przedstawianym jako i do j lub czasami jak i do j . Operator strzałki w lewo ← jest znany jako generator , ponieważ generuje pojedyncze wartości z zakresu.

Alternatywnie można również użyć składni:

for(w <- zakres){

// Kod..

}

Tutaj w jest zmienną, znak strzałki w lewo ← operator jest generatorem, a zakresem jest wartość, która zawiera wartości początkowe i końcowe. Zakres jest reprezentowany przez użycie i do j lub i do j.

Przykład Scala For-Loop ze słowem kluczowym „do”

Użycie 'to' z pętlą for obejmuje zarówno wartość początkową, jak i końcową. W poniższym przykładzie możemy użyć 'to' do wypisania wartości z zakresu od 0 do n. Innymi słowy, pętla zaczyna się od 0 i kończy na 10, co oznacza, że ​​możemy wydrukować strony o numerach od 0 do 10.

// Program Scala ilustrujący, jak to zrobić

// utwórz pętlę for używając to

obiekt główny

{

def main(args: Tablica[Ciąg])

{

println("Wartość w to:");

// Tutaj pętla for zaczyna się od 0

// i kończy się o 10

dla (w <- 0 do 10)

{

println(w);

}

}

}

Wyjście:

W powyższym przykładzie wartość w to:

0

1

2

3

4

5

6

7

8

9

10

Przeczytaj: 10 najlepszych umiejętności, aby zostać pełnoprawnym programistą

Przykład Scala For-Loop ze słowem kluczowym „do”

Różnica między używaniem do i do jest; to obejmuje początkową i końcową wartość podaną w zakresie, natomiast until wyklucza ostatnią wartość z danego zakresu. W zilustrowanym poniżej przykładzie pętli for , możemy użyć funkcji until do wypisania wartości z zakresu od 0 do n-1. Innymi słowy, pętla zaczyna się od 0 i kończy na n-1, co daje 9. Możemy więc wydrukować strony od 0 do 9.

// Program Scala ilustrujący, jak to zrobić

// utwórz pętlę for używając dopóki

obiekt główny

{

def main(args: Tablica[Ciąg])

{

println("Wartość w to:");

// Tutaj pętla for zaczyna się od 0

// i kończy się o 10

dla( w <- 0 do 10)

{

println(w);

}

}

}

Wyjście:

W powyższym przykładzie wartość w to:

0

1

2

3

4

5

6

7

8

9

Przeczytaj także: Python kontra Scala

Wiele wartości w pętli for

Możemy również użyć wielu zakresów w jednej pętli for . Te zakresy są oddzielone średnikiem (;). Zrozummy to za pomocą ilustracji. W poniższym przykładzie użyliśmy dwóch różnych zakresów w pojedynczej pętli, tj. w <-0 do 3; z <- 8 do 10.

// Program Scala ilustrujący, jak to zrobić

// utwórz wiele zakresów w pętli for

obiekt główny

{

def main(args: Tablica[Ciąg])

{

// pętla for z wieloma zakresami

dla( w <- 0 do 3; z<- 8 do 10 )

{

println("Wartość w to :" +w);

println("Wartość y to :" +z);

}

}

}

Wyjście:

Wartość w wynosi:0

Wartość y wynosi:8

Wartość w wynosi:0

Wartość y wynosi: 9

Wartość w wynosi: 1

Wartość y wynosi:8

Wartość w wynosi :1

Wartość y wynosi: 9

Wartość w wynosi:2

Wartość y wynosi:8

Wartość w wynosi:2

Wartość y wynosi: 9

Wartość w to:3

Wartość y wynosi:8

Wartość w to:3

Wartość y wynosi: 9

Zamówienie: wynagrodzenie programisty Full Stack w Indiach

For-Loop z kolekcjami

W Scali możemy użyć pętli for, aby wydajnie iterować kolekcje, takie jak lista, sekwencja itp., używając pętli for-each lub pętli for-comprehensions . Składnia pętli for z kolekcjami w Scali jest pokazana poniżej:

Składnia

for( var x <- Lista ){

sprawozdania);

}

Tutaj lista zmiennych jest typem kolekcji z listą elementów, a pętla for iteruje wszystkie elementy, zwracając jeden element w zmiennej x na raz.

Spójrzmy na poniższy program demonstracyjny, aby zrozumieć pętlę for z kolekcjami . Na ilustracji utworzyliśmy kolekcję za pomocą zmiennej List , aby wyświetlić listę autorów na podstawie ich rang.

// Program Scala ilustrujący, jak to zrobić

// użyj for loop z collection

obiekt główny

{

def main(args: Tablica[Ciąg])

{

var ranga = 0;

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

// Dla pętli z kolekcją

for( pozycja <- lista rankingowa){

println(„Ranga autora to : ” +ranga);

}

}

}

Wyjście:

Ranga autora to: 1

Ranga autora to: 2

Ranga autora to: 3

Ranga autora to: 4

Ranga autora to: 5

Ranga autora to: 6

Ranga autora to: 7

Ranga autora to: 8

Ranga autora to: 9

Ranga autora to: 10

For-Loop z filtrami

For-loop w Scali umożliwia filtrowanie elementów z danej kolekcji przy użyciu jednej lub więcej instrukcji if w for-loop . Użytkownicy mogą również dodać więcej niż jeden filtr do wyrażenia „for” , używając średników (;), aby je oddzielić. Poniżej wymieniono składnię pętli for z filtrami .

Składnia

for( var x <- Lista

jeśli warunek1; jeśli warunek 2…

){

sprawozdania);

}

Zrozummy to lepiej za pomocą przykładu. Poniższa ilustracja wykorzystuje dwa filtry do segregacji danej kolekcji. Na przykład w poniższej próbie filtry eliminują listę autorów z rangami większymi niż 2 i mniejszymi niż 7.

// Program Scala ilustrujący, jak to zrobić

// użyj for loop z filtrami

obiekt główny

{

def main(args: Tablica[Ciąg])

{

var ranga = 0;

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

// Dla pętli z filtrami

for( rank <- lista rankingowa

jeśli ranga < 7; jeśli ranga > 2 )

{

println(„Ranga autora to : ” +ranga);

}

}

}

Wyjście:

Ranga autora to: 3

Ranga autora to: 4

Ranga autora to: 5

Ranga autora to: 6

For-Loop z wydajnością

W Scali wartość zwracana przez pętlę jest przechowywana w zmiennej lub może zostać zwrócona przez funkcję. W tym celu należy poprzedzić treść wyrażenia „for” słowem kluczowym yield . Poniżej wymieniono składnię pętli for z yield .

Składnia

var retVal = for{ var x <- List

jeśli warunek1; jeśli warunek 2…

}

wydajność x

Uwaga − Nawiasy klamrowe wymieniają zmienne i warunki, a retVal to zmienna, w której wszystkie wartości x będą przechowywane w formie kolekcji.

Zrozummy to lepiej za pomocą ilustracji. W poniższym przykładzie wyjściem jest zmienna, w której wszystkie wartości rang są przechowywane w postaci kolekcji. Pętla for wyświetla tylko listę autorów, których ranga jest większa niż 4 i mniejsza niż 8.

// Program Scala ilustrujący, jak to zrobić

// użyj for loop z plonami

obiekt główny

{

def main(args: Tablica[Ciąg])

{

var ranga = 0;

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

// Pętla For z plonami

var output = for{ rank <- ranklist

jeśli ranga > 4; jeśli ranga != 8 }

stopień plonowania

// Wyświetl wynik

for (ranga <- dane wyjściowe)

{

println(„Ranga autora to : ” + pozycja);

}

}

}

Wyjście:

Ranga autora to: 5

Ranga autora to: 6

Ranga autora to: 7

Ranga autora to: 9

Ranga autora to: 10

Ucz się kursów rozwoju oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Wniosek

Jeśli chcesz dowiedzieć się więcej o tworzeniu oprogramowania z pełnym pakietem, zapoznaj się z programem Executive PG UpGrad i IIIT-B w zakresie tworzenia oprogramowania z pełnym pakietem, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznych szkoleń, ponad 9 projektów, i zadania, status absolwentów IIIT-B, praktyczne praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.

Czym jest język programowania Scala?

Scala to język programowania ogólnego przeznaczenia, zaprojektowany do wyrażania typowych wzorców programowania w zwięzły, elegancki i bezpieczny dla typu sposób. Jest to hybrydowy język funkcjonalny i zorientowany obiektowo, obsługuje konstrukcje programowania funkcjonalnego, takie jak funkcje wyższego rzędu i leniwą ocenę, ale ma również cechy języka zorientowanego obiektowo, takie jak klasy, literały obiektowe i wnioskowanie o typie. Scala jest jednym z najbardziej znanych języków zaprojektowanych dla wirtualnej maszyny Java (JVM), ale może być również skompilowany do kodu źródłowego JavaScript lub użyć .NET Common Language Runtime (CLR).

Czym są pętle w programowaniu?

Pętle to instrukcje programowania, które powtarzają blok instrukcji inną liczbę razy (liczba całkowita). Istnieją dwa rodzaje pętli — for i while. Pętla powtarza blok kodu aż do spełnienia określonego warunku. Możesz użyć pętli, aby wykonać to samo zadanie w kółko, aż do spełnienia określonych kryteriów. Istnieje kilka rodzajów pętli, takich jak pętla for, pętla while, pętla do while i pętla foreach. Każdy z tych typów ma swoje zalety i przypadki użycia. Na przykład, jeśli chcesz wykonać pętlę przez tablicę ustaloną liczbę razy, możesz użyć pętli for. Jeśli chcesz zapętlić na podstawie warunku, możesz użyć pętli while. Jeśli chcesz uzyskać dostęp do elementów tablicy, możesz użyć pętli foreach.

Jaka jest przyszłość języka Scala?

Scala to język programowania ogólnego przeznaczenia, który zawiera zasady programowania funkcjonalnego. Jest niezależny od platformy. Scala to język statycznie typowany z wnioskowaniem o typie. Pozwala również na napisanie kodu w stylu obiektowym. Scala ma bogate biblioteki i jest zwięzły w kodowaniu. Te czynniki sprawiają, że Scala jest bardzo popularnym językiem programowania. Jeśli jesteś programistą Java, możesz łatwiej korzystać ze Scali. Jeśli nie jesteś programistą Java i nadal chcesz używać Scali, możesz użyć systemu interpretera Scala. Scala ma szybko rozwijającą się społeczność, a dostanie się na pierwsze miejsce w rankingu nie jest już kwestią czasu.