English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Instructions break Scala

Boucles Scala

Scala n'a pas de statement break par défaut, mais vous pouvez utiliser 2.8 d'une version ultérieure, vous pouvez utiliser une autre méthode pour réaliser break instruction. Lorsqu'elle est utilisée dans une boucle break L'instruction, lorsqu'elle est exécutée, interrompt le cycle et exécute le bloc de code suivant.

Syntaxe

La syntaxe de break en Scala est légèrement différente, elle est présentée comme suit :

// Importez les packages suivants
import scala.util.control._
// Créer un objet Breaks
val loop = new Breaks;
// En boucle dans breakable
loop.breakable{
    // Boucle
    for(...){
       ....
       // Interruption de boucle
       loop.break;
   }
}

Diagramme de flux

Exemple en ligne

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( "Valeur de a : " + a );
            if( a == 4 {
               loop.break;
            }
         }
      }
      println( "Après le cycle" );
   }
}

Le résultat de l'exécution du code suivant est :

$ scalac Test.scala
$ scala Test
Valeur de a : 1
Valeur de a : 2
Valeur de a : 3
Valeur de a : 4
Après le cycle

Interruption de boucles imbriquées

Voici un exemple qui montre comment interrompre des boucles imbriquées :

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( "Valeur de a : " + a );
            inner.breakable {
               for( b <- numList2{
                  println( "Valeur de b : " + b );
                  if( b == 12 {
                     inner.break;
                  }
               }
            } // Interruption du cycle imbriqué
         }
      } // Interruption du cycle externe
   }
}

Le résultat de l'exécution du code suivant est :

$ scalac Test.scala
$ scala Test
Valeur de a : 1
Valeur de b : 11
Valeur de b : 12
Valeur de a : 2
Valeur de b : 11
Valeur de b : 12
Valeur de a : 3
Valeur de b : 11
Valeur de b : 12
Valeur de a : 4
Valeur de b : 11
Valeur de b : 12
Valeur de a : 5
Valeur de b : 11
Valeur de b : 12

Boucles Scala