Pernyataan istirahat scala
Scala bahasa default ada pernyataan istirahat, tetapi Anda dapat menggunakan cara lain setelah versi Scala 2,8 untuk mencapaibreak.Bila menggunakan pernyataanistirahat dalam satu lingkaran ketika mengeksekusi pernyataan ini, akan merusak siklus dan mengeksekusi blok kode setelah loop.
tatabahasa
sintaks scala di istirahat sedikit kurang seperti format berikut:
// 导入以下包 import scala.util.control._ // 创建 Breaks 对象 val loop = new Breaks; // 在 breakable 中循环 loop.breakable{ // 循环 for(...){ .... // 循环中断 loop.break; } }
diagram alir
contoh
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" ); } }
Mengeksekusi hasil kode output di atas:
$ scalac Test.scala $ scala Test Value of a: 1 Value of a: 2 Value of a: 3 Value of a: 4 After the loop
Interupsi lingkaran bersarang
Contoh berikut menunjukkan bagaimana untuk memecahkan loop bersarang:
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; } } } // 内嵌循环中断 } } // 外部循环中断 } }
Mengeksekusi hasil kode output di atas:
$ 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