Scala do ... while
bucle for le permite escribir un número determinado de estructura de control de bucle.
gramática
lenguaje Scalapara la sintaxis del bucle:
for( var x <- Range ){ statement(s); }
Lasintaxis anterior, Rango podría ser un rango de números representa i a j,i, ohasta j.Flecha izquierda <- para la asignación a una variable x.
Ejemplos
El siguiente es un uso de la sintaxisi para j (que contiene j) Ejemplos:
object Test { def main(args: Array[String]) { var a = 0; // for 循环 for( a <- 1 to 10){ println( "Value of a: " + a ); } } }
Ejecutar los resultados de la salida el código de seguridad:
$ 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
El siguiente es un uso de la sintaxisi hasta j (no incluye j) Ejemplos:
object Test { def main(args: Array[String]) { var a = 0; // for 循环 for( a <- 1 until 10){ println( "Value of a: " + a ); } } }
Ejecutar los resultados de la salida el código de seguridad:
$ 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
Enel bucle for puede utilizar un punto y coma (;) para establecer una pluralidad de secciones, será iteración intervalo dado todos los valores posibles.El ejemplo siguiente muestra dos ejemplos de intervalo 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 ); } } }
Ejecutar los resultados de la salida el código de seguridad:
$ 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
para el grupo de ciclismo
La sintaxis para el ciclismo establece de la siguiente manera:
for( var x <- List ){ statement(s); }
Lasintaxis anterior, la lista es una colección de variables, bucle for itera sobre todos los elementos de la colección.
Ejemplos
Los siguientes ejemplos colección digital de bucle. Utilizamosla lista ()para crear la colección. Y a continuación, vamos a definir los capítulos detalle más adelante.
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 ); } } }
Ejecutar los resultados de la salida el código de seguridad:
$ 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
para filtro de bucle
Scala puede utilizar uno o más de la sentenciaif para filtrar algunos elementos.
El siguiente es el uso de un filtro en un bucle para la sintaxis.
for( var x <- List if condition1; if condition2... ){ statement(s);
Se puede utilizar un punto y coma (;) para contribuir a la expresión de uno o más filtros.
Ejemplos
El siguiente es un filtro de bucle, por ejemplo:
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 ); } } }
Ejecutar los resultados de la salida el código de seguridad:
$ 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
para el rendimiento de uso
Puede devolver el valor para el ciclo como un almacenamiento de variables. Sintaxis es la siguiente:
var retVal = for{ var x <- List if condition1; if condition2... }yield x
Tenga en cuenta que entre llaves utilizadas para mantener las variables ycondiciones,retval es variable, el bucle se obtendrán los elementos de corriente abajo, almacenados en una colección, la colección devuelta después del final del ciclo.
Ejemplos
El siguiente ejemplo demuestra el uso de la para el rendimiento de bucle:
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 ); } } }
Ejecutar los resultados de la salida el código de seguridad:
$ 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