Escala para Loop | Para Loop em Scala: Explicação
Publicados: 2021-02-19Em 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.