Scala do ... while
ciclo for permette di scrivere un numero specificato di struttura di controllo ad anello.
grammatica
linguaggio Scalaper la sintassi del ciclo:
for( var x <- Range ){ statement(s); }
Lasintassi di cui sopra,gamma potrebbe essere una serie di numericherappresentaper j,oio fino j.Freccia sinistra <- per l'assegnazione ad una variabile x.
Esempi
Quanto segue è un uso della sintassii a j (contenente j) Esempi:
object Test { def main(args: Array[String]) { var a = 0; // for 循环 for( a <- 1 to 10){ println( "Value of a: " + a ); } } }
Eseguire i risultati di output di codice di cui sopra:
$ scalac Test.scala $ scala Test value of a: 1 value of a: 2 value of a: 3 value of a: 4 value of a: 5 value of a: 6 value of a: 7 value of a: 8 value of a: 9 value of a: 10
Quanto segue è un uso delI fino sintassi j(non include j) Esempi:
object Test { def main(args: Array[String]) { var a = 0; // for 循环 for( a <- 1 until 10){ println( "Value of a: " + a ); } } }
Eseguire i risultati di output di codice di cui sopra:
$ scalac Test.scala $ scala Test value of a: 1 value of a: 2 value of a: 3 value of a: 4 value of a: 5 value of a: 6 value of a: 7 value of a: 8 value of a: 9
Nelciclo for è possibile utilizzare un punto e virgola (;) per impostare una pluralità di sezioni, sarà iterazione intervallo dato tutti i possibili valori.L'esempio seguente mostra due esempi di intervallo del ciclo:
object Test { def main(args: Array[String]) { var a = 0; var b = 0; // for 循环 for( a <- 1 to 3; b <- 1 to 3){ println( "Value of a: " + a ); println( "Value of b: " + b ); } } }
Eseguire i risultati di output di codice di cui sopra:
$ scalac Test.scala $ scala Test Value of a: 1 Value of b: 1 Value of a: 1 Value of b: 2 Value of a: 1 Value of b: 3 Value of a: 2 Value of b: 1 Value of a: 2 Value of b: 2 Value of a: 2 Value of b: 3 Value of a: 3 Value of b: 1 Value of a: 3 Value of b: 2 Value of a: 3 Value of b: 3
per il set ciclismo
La sintassi per il ciclismo impostata come segue:
for( var x <- List ){ statement(s); }
Lasintassi di cui sopra, l'elencoè un insieme di variabili, per itera ciclo su tutti gli elementi della collezione.
Esempi
Gli esempi che seguono collezione digitale loop. UsiamoLista ()per creare la collezione. E poi ci dettaglio più avanti capitoli set.
object Test { def main(args: Array[String]) { var a = 0; val numList = List(1,2,3,4,5,6); // for 循环 for( a <- numList ){ println( "Value of a: " + a ); } } }
Eseguire i risultati di output di codice di cui sopra:
$ scalac Test.scala $ scala Test value of a: 1 value of a: 2 value of a: 3 value of a: 4 value of a: 5 value of a: 6
per filtro loop
Scala possono utilizzare uno o più deiif per filtrare alcuni elementi.
Quanto segue è l'uso di un filtro in un ciclo per la sintassi.
for( var x <- List if condition1; if condition2... ){ statement(s);
È possibile utilizzare un punto e virgola (;) per aggiungere l'espressione di uno o più filtri.
Esempi
Quanto segue è un filtro ad anello, per esempio:
object Test { def main(args: Array[String]) { var a = 0; val numList = List(1,2,3,4,5,6,7,8,9,10); // for 循环 for( a <- numList if a != 3; if a < 8 ){ println( "Value of a: " + a ); } } }
Eseguire i risultati di output di codice di cui sopra:
$ scalac Test.scala $ scala Test value of a: 1 value of a: 2 value of a: 4 value of a: 5 value of a: 6 value of a: 7
per l'uso rendimento
È possibile restituire il valore per il ciclo come una memoria variabile. La sintassi è la seguente:
var retVal = for{ var x <- List if condition1; if condition2... }yield x
Nota che parentesi graffe utilizzati per contenere variabili econdizioni,retVal è variabile, il ciclo produrrà gli attuali elementi giù, memorizzato in una raccolta, la raccolta restituita dopo la fine del ciclo.
Esempi
L'esempio seguente dimostra l'uso del ciclo per la resa:
object Test { def main(args: Array[String]) { var a = 0; val numList = List(1,2,3,4,5,6,7,8,9,10); // for 循环 var retVal = for{ a <- numList if a != 3; if a < 8 }yield a // 输出返回值 for( a <- retVal){ println( "Value of a: " + a ); } } }
Eseguire i risultati di output di codice di cui sopra:
$ scalac Test.scala $ scala Test value of a: 1 value of a: 2 value of a: 4 value of a: 5 value of a: 6 value of a: 7