Escala para Loop | Para Loop em Scala: Explicação

Publicados: 2021-02-19

Em Scala, um for-loop também é conhecido como for-comprehensions . Ele pode ser usado para iterar, filtrar e retornar uma coleção ensaiada. A compreensão for parece bastante semelhante a um loop for em linguagens imperativas; no entanto, a diferença é que ele reúne uma lista dos resultados das aliterações.

Existem várias formas de loop for em Scala , que são descritas abaixo:

Índice

For-Loop com intervalos

Sintaxe

A sintaxe mais simples de um loop for com intervalos em Scala é mostrada abaixo:

for(var x <- intervalo){

afirmações);

}

Conforme descrito acima, o intervalo pode ser qualquer intervalo de números, representado como i até j ou às vezes como i até j . O operador ← de seta para a esquerda é conhecido como gerador porque gera valores individuais a partir de um intervalo.

Alternativamente, também pode-se usar a sintaxe:

for(w <- intervalo){

// Código..

}

Aqui, w é uma variável, o operador de sinal de seta para a esquerda ← é o gerador e o intervalo é o valor que contém os valores inicial e final. O intervalo é representado usando i até j ou i até j.

Exemplo Scala For-Loop usando a palavra-chave 'to'

O uso de 'to' com loop for inclui os valores inicial e final. No exemplo mostrado abaixo, podemos usar 'to' para imprimir valores entre 0 e n. Em outras palavras, o loop começa em 0 e termina em 10, o que significa que podemos imprimir números de página de 0 a 10.

// Programa Scala para ilustrar como

// cria um loop for usando to

objeto Principal

{

def main(args: Array[String])

{

println("O valor de w é:");

// Aqui, o loop for começa em 0

// e termina em 10

for(w <- 0 a 10)

{

println(w);

}

}

}

Saída:

No exemplo mostrado acima, o valor de w é:

0

1

2

3

4

5

6

7

8

9

10

Leia: As 10 principais habilidades para se tornar um desenvolvedor full stack

Exemplo Scala For-Loop usando a palavra-chave 'until'

A diferença entre usar até e para é; to inclui os valores inicial e final fornecidos em um intervalo, enquanto até exclui o último valor do intervalo fornecido. No exemplo de loop for ilustrado abaixo, podemos usar até para imprimir valores entre 0 e n-1. Em outras palavras, o loop começa em 0 e termina em n-1, que termina em 9. Assim, podemos imprimir os números de página de 0 a 9.

// Programa Scala para ilustrar como

// cria o loop for usando until

objeto Principal

{

def main(args: Array[String])

{

println("O valor de w é:");

// Aqui, o loop for começa em 0

// e termina em 10

for(w <- 0 até 10)

{

println(w);

}

}

}

Saída:

No exemplo mostrado acima, o valor de w é:

0

1

2

3

4

5

6

7

8

9

Leia também: Python vs Scala

Vários valores em For-Loop

Também podemos usar vários intervalos em um único loop for . Esses intervalos são separados por ponto e vírgula (;). Vamos entender isso com a ajuda de uma ilustração. No exemplo dado abaixo, usamos dois intervalos diferentes em um único loop, ou seja, w <- 0 a 3; z <- 8 até 10.

// Programa Scala para ilustrar como

// cria vários intervalos no loop for

objeto Principal

{

def main(args: Array[String])

{

// for loop com vários intervalos

for( w <- 0 a 3; z <- 8 até 10 )

{

println(“Valor de w é:” + w);

println(“Valor de y é:” +z);

}

}

}

Saída:

O valor de w é: 0

O valor de y é: 8

O valor de w é: 0

O valor de y é: 9

O valor de w é: 1

O valor de y é: 8

O valor de w é: 1

O valor de y é: 9

O valor de w é: 2

O valor de y é: 8

O valor de w é: 2

O valor de y é: 9

O valor de w é: 3

O valor de y é: 8

O valor de w é: 3

O valor de y é: 9

Checkout: Salário Full Stack Developer na Índia

For-Loop com coleções

Em Scala, podemos usar for-loop para iterar eficientemente coleções como list, sequence, etc., usando um loop for-each ou um loop for-comprehensions . A sintaxe de um loop for com coleções em Scala é mostrada abaixo:

Sintaxe

for( var x <- Lista ){

afirmações);

}

Aqui, a lista de variáveis ​​é um tipo de coleção com uma lista de elementos e um loop for itera por todos os elementos retornando um elemento na variável x por vez.

Vejamos o programa de demonstração abaixo para entender um loop for com coleções . Na ilustração, criamos uma coleção usando a variável List para listar os autores com base em suas classificações.

// Programa Scala para ilustrar como

// usa for loop com coleção

objeto Principal

{

def main(args: Array[String])

{

var posto = 0;

val lista de classificação = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

// Para loop com coleção

for( classificação <- lista de classificação){

println(“A classificação do autor é: ” +classificação);

}

}

}

Saída:

A classificação do autor é: 1

A classificação do autor é: 2

A classificação do autor é: 3

A classificação do autor é: 4

A classificação do autor é: 5

A classificação do autor é: 6

A classificação do autor é: 7

A classificação do autor é: 8

A classificação do autor é: 9

A classificação do autor é: 10

For-Loop com Filtros

For-loop em Scala permite filtrar elementos de uma determinada coleção usando uma ou mais instruções if em for-loop . Os usuários também podem adicionar mais de um filtro a uma expressão 'for' usando ponto e vírgula (;) para separá-los. Abaixo está a sintaxe para loop for com filtros .

Sintaxe

for( var x <- Lista

se condição1; se condição2…

){

afirmações);

}

Vamos entender isso melhor com a ajuda de um exemplo. A ilustração abaixo usa dois filtros para segregar a coleção fornecida. Por exemplo, na amostra abaixo, os filtros eliminam a lista de autores com ranks maiores que 2 e menores que 7.

// Programa Scala para ilustrar como

// usa loop for com filtros

objeto Principal

{

def main(args: Array[String])

{

var posto = 0;

val lista de classificação = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

// Para loop com filtros

for( classificação <- lista de classificação

se classificação < 7; se posto > 2)

{

println(“A classificação do autor é: ” +classificação);

}

}

}

Saída:

A classificação do autor é: 3

A classificação do autor é: 4

A classificação do autor é: 5

A classificação do autor é: 6

For-Loop com Rendimento

Em Scala, o valor de retorno do loop é armazenado em uma variável ou pode retornar por meio de uma função. Para fazer isso, você deve prefixar o corpo da expressão 'for' com a palavra-chave yield . Abaixo está listada a sintaxe para loop for com yield .

Sintaxe

var retVal = for{ var x <- Lista

se condição1; se condição2…

}

rendimento x

Nota − As chaves listam as variáveis ​​e condições, e retVal é uma variável onde todos os valores de x serão armazenados na forma de coleção.

Vamos entender isso melhor com a ajuda de uma ilustração. No exemplo dado abaixo, a saída é uma variável onde todos os valores de classificação são armazenados na forma de uma coleção. O loop for exibe apenas a lista de autores cuja classificação é maior que 4 e menor que 8.

// Programa Scala para ilustrar como

// usa loop for com yields

objeto Principal

{

def main(args: Array[String])

{

var posto = 0;

val lista de classificação = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

// Para loop com rendimentos

var output = for{ rank <- ranklist

se posto > 4; se classificação != 8 }

classificação de rendimento

// Mostra o resultado

para (classificação <- saída)

{

println(“A classificação do autor é: ” + classificação);

}

}

}

Saída:

A classificação do autor é: 5

A classificação do autor é: 6

A classificação do autor é: 7

A classificação do autor é: 9

A classificação do autor é: 10

Aprenda cursos de desenvolvimento de software online das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.

Conclusão

Se você estiver interessado em aprender mais sobre desenvolvimento de software full-stack, confira o Programa PG Executivo do upGrad & IIIT-B em Desenvolvimento de Software Full-stack, projetado para profissionais que trabalham e oferece mais de 500 horas de treinamento rigoroso, mais de 9 projetos, e atribuições, status de ex-alunos do IIIT-B, projetos práticos práticos e assistência de trabalho com as principais empresas.

O que é a linguagem de programação Scala?

Scala é uma linguagem de programação de uso geral projetada para expressar padrões de programação comuns de maneira concisa, elegante e segura. É uma linguagem híbrida funcional e orientada a objetos, suporta construções de programação funcional, como funções de ordem superior e avaliação lenta, mas também possui recursos de uma linguagem orientada a objetos, como classes, literais de objeto e inferência de tipos. Scala é uma das linguagens mais proeminentes projetada para Java Virtual Machine (JVM), mas também pode ser compilada para código-fonte JavaScript ou usar o .NET Common Language Runtime (CLR).

O que são loops na programação?

Loops são instruções de programação que repetem um bloco de instruções outro número de vezes (um número inteiro). Existem dois tipos de loops — for e while. Um loop repete um bloco de código até que uma determinada condição seja preenchida. Você pode usar um loop para executar a mesma tarefa repetidamente até que os critérios especificados sejam preenchidos. Existem vários tipos de loops, como - for loop, while loop, do while loop e foreach loop. Cada um desses tipos tem suas próprias vantagens e casos de uso. Por exemplo, se você quiser percorrer um array por um número fixo de vezes, você pode usar for loops. Se você quiser fazer um loop com base em uma condição, você pode usar loops while. Se você quiser acessar elementos de um array, você pode usar loops foreach.

Qual é o futuro da linguagem Scala?

Scala é uma linguagem de programação de uso geral que incorpora princípios de programação funcional. É independente de plataforma. Scala é uma linguagem estaticamente tipada com inferência de tipos. Também permite que o código seja escrito em um estilo orientado a objetos. Scala tem bibliotecas ricas e é concisão na codificação. Esses fatores tornam Scala uma linguagem de programação muito popular. Se você é um programador java, pode usar Scala com mais facilidade. Se você não é um programador Java e ainda deseja usar Scala, pode usar o sistema interpretador Scala. Scala tem uma comunidade em rápido crescimento e chegar ao primeiro lugar no ranking não é mais uma questão de tempo.