Latest web development tutorials

sentencia break Scala

ciclo de Scala ciclo de 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

ciclo de Scala ciclo de Scala