sentencia break Scala
idioma predeterminado Scala hay sentencia break, pero se puede utilizar de otra manera después de la versión 2.8 Scala para lograr sentenciabreak.Cuando se utiliza la sentenciabreak en un bucle cuando se ejecuta a esta declaración, se romperá el ciclo y ejecutar el bloque de código después del bucle.
gramática
sintaxis Scala de la ruptura de un poco menos como el siguiente formato:
// 导入以下包 import scala.util.control._ // 创建 Breaks 对象 val loop = new Breaks; // 在 breakable 中循环 loop.breakable{ // 循环 for(...){ .... // 循环中断 loop.break; } }
diagrama de flujo
Ejemplos
import scala.util.control._ object Test { def main(args: Array[String]) { var a = 0; val numList = List(1,2,3,4,5,6,7,8,9,10); val loop = new Breaks; loop.breakable { for( a <- numList){ println( "Value of a: " + a ); if( a == 4 ){ loop.break; } } } println( "After the loop" ); } }
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 After the loop
bucle de anidación de interrupción
El siguiente ejemplo demuestra cómo romper bucles anidados:
import scala.util.control._ object Test { def main(args: Array[String]) { var a = 0; var b = 0; val numList1 = List(1,2,3,4,5); val numList2 = List(11,12,13); val outer = new Breaks; val inner = new Breaks; outer.breakable { for( a <- numList1){ println( "Value of a: " + a ); inner.breakable { for( b <- numList2){ println( "Value of b: " + b ); if( b == 12 ){ inner.break; } } } // 内嵌循环中断 } } // 外部循环中断 } }
Ejecutar los resultados de la salida el código de seguridad:
$ scalac Test.scala $ scala Test Value of a: 1 Value of b: 11 Value of b: 12 Value of a: 2 Value of b: 11 Value of b: 12 Value of a: 3 Value of b: 11 Value of b: 12 Value of a: 4 Value of b: 11 Value of b: 12 Value of a: 5 Value of b: 11 Value of b: 12