istruzione break Scala
Lingua di default Scala è alcuna istruzione break, ma è possibile utilizzare un altro modo dopo la versione 2.8 Scala di raggiungere un'istruzionebreak.Quando si utilizza l'istruzionebreak in un ciclo durante l'esecuzione di questa affermazione, si romperà il ciclo ed eseguire il blocco di codice dopo il ciclo.
grammatica
sintassi Scala di pausa un po 'meno come il seguente formato:
// 导入以下包 import scala.util.control._ // 创建 Breaks 对象 val loop = new Breaks; // 在 breakable 中循环 loop.breakable{ // 循环 for(...){ .... // 循环中断 loop.break; } }
diagramma di flusso
Esempi
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" ); } }
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 After the loop
ciclo di nidificazione di interrupt
L'esempio seguente mostra come rompere cicli annidati:
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; } } } // 内嵌循环中断 } } // 外部循环中断 } }
Eseguire i risultati di output di codice di cui sopra:
$ 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