English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O loop for no Scala permite que você escreva uma estrutura de controle de loop que execute uma quantidade específica de vezes.
No Scala for A sintaxe do loop:
for( var x <- Range ){ statement(s); }
Na sintaxe acima,Range Pode ser um intervalo numérico representado por i até j ou i até j。Seta esquerda <- Para atribuir valor à variável x.
O exemplo a seguir é um que usa i até j A sintaxe (inclusa j) de exemplo:
objeto Test {
def main(args: Array[String]) {
var a = 0;
// Loop for
for( a <- 1 to 10){
println( "Valor de a: " + a );
}
}
}
A execução do código acima resulta em:
$ scalac Test.scala $ scala Test valor de a: 1 valor de a: 2 valor de a: 3 valor de a: 4 valor de a: 5 valor de a: 6 valor de a: 7 valor de a: 8 valor de a: 9 valor de a: 10
O exemplo a seguir é um que usa i até j A sintaxe (não incluído j) de exemplo:
objeto Test {
def main(args: Array[String]) {
var a = 0;
// Loop for
for( a <- 1 até 10){
println( "Valor de a: " + a );
}
}
}
A execução do código acima resulta em:
$ scalac Test.scala $ scala Test valor de a: 1 valor de a: 2 valor de a: 3 valor de a: 4 valor de a: 5 valor de a: 6 valor de a: 7 valor de a: 8 valor de a: 9
No Loop for Você pode usar ponto-e-vírgula (;) para definir várias intervalos, que iterarão todos os valores possíveis do intervalo dado. O exemplo a seguir demonstra um exemplo de loop de dois intervalos:
objeto Test {
def main(args: Array[String]) {
var a = 0;
var b = 0;
// Loop for
for( a <- 1 to 3; b <- 1 to 3){
println( "Valor de a: " + a );
println( "Valor de b: " + b );
}
}
}
A execução do código acima resulta em:
$ scalac Test.scala $ scala Test Valor de a: 1 Valor de b: 1 Valor de a: 1 Valor de b: 2 Valor de a: 1 Valor de b: 3 Valor de a: 2 Valor de b: 1 Valor de a: 2 Valor de b: 2 Valor de a: 2 Valor de b: 3 Valor de a: 3 Valor de b: 1 Valor de a: 3 Valor de b: 2 Valor de a: 3 Valor de b: 3
A sintaxe do loop de conjunto for é a seguinte:
for( x <- List ){ statement(s); }
Na sintaxe acima, List A variável é um conjunto e o loop for iterará sobre todos os elementos do conjunto.
O exemplo a seguir fará o loop sobre um conjunto de números. Usamos List() Para criar conjuntos. Em capítulos futuros, detalharemos conjuntos.
objeto Test {
def main(args: Array[String]) {
var a = 0;
val numList = List(1,2,3,4,5,6);
// Loop for
for( a <- numList ){
println( "Valor de a: " + a );
}
}
}
A execução do código acima resulta em:
$ scalac Test.scala $ scala Test valor de a: 1 valor de a: 2 valor de a: 3 valor de a: 4 valor de a: 5 valor de a: 6
O Scala pode usar um ou mais if Para filtrar alguns elementos.
A seguinte é a sintaxe do filtro utilizado no loop for.
for( var x <- List se condição1; se condição2... { statement(s);
Você pode usar ponto e vírgula (;) para adicionar uma ou mais condições de filtragem a uma expressão.
A seguir está um exemplo de filtragem no loop for:
objeto Test {
def main(args: Array[String]) {
var a = 0;
val numList = List(1,2,3,4,5,6,7,8,9,10);
// Loop for
for( a <- numList
se a != 3; se a < 8 ){
println( "Valor de a: " + a );
}
}
}
A execução do código acima resulta em:
$ scalac Test.scala $ scala Test valor de a: 1 valor de a: 2 valor de a: 4 valor de a: 5 valor de a: 6 valor de a: 7
Você pode armazenar o valor retornado do loop for em uma variável. O formato da sintaxe é o seguinte:
var retVal = for{ var x <- List se condição1; se condição2... }yield x
Atenção aos colchetes utilizados para armazenar variáveis e condições,retVal É uma variável, o yield no loop grava o elemento atual, armazenando-o no conjunto e retornando o conjunto no final do loop.
O seguinte exemplo demonstra o uso do yield em loops for:
objeto Test {
def main(args: Array[String]) {
var a = 0;
val numList = List(1,2,3,4,5,6,7,8,9,10);
// Loop for
var retVal = for{ a <- numList
se a != 3; se a < 8
}yield a
// Exibir o valor retornado
for( a <- retVal){
println( "Valor de a: " + a );
}
}
}
A execução do código acima resulta em:
$ scalac Test.scala $ scala Test valor de a: 1 valor de a: 2 valor de a: 4 valor de a: 5 valor de a: 6 valor de a: 7