Scala do ... while
untuk loop memungkinkan Anda untuk menulis sejumlah tertentu dari struktur kontrol loop.
tatabahasa
bahasa scalauntuk sintaks lingkaran:
for( var x <- Range ){ statement(s); }
Sintaks di atas,Rentang bisa menjadi kisaran angka mewakilisaya untuk j,ataui sampai j.Panah Kiri <- untuk tugas untuk variabel x.
contoh
Berikut ini adalah penggunaani untuk sintaks j(mengandung j) Contoh:
object Test { def main(args: Array[String]) { var a = 0; // for 循环 for( a <- 1 to 10){ println( "Value of a: " + a ); } } }
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 value of a: 5 value of a: 6 value of a: 7 value of a: 8 value of a: 9 value of a: 10
Berikut ini adalah penggunaani sampai sintaks j(tidak termasuk j) Contoh:
object Test { def main(args: Array[String]) { var a = 0; // for 循环 for( a <- 1 until 10){ println( "Value of a: " + a ); } } }
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 value of a: 5 value of a: 6 value of a: 7 value of a: 8 value of a: 9
Dalamuntuk loop Anda dapat menggunakan titik koma (;) untuk mendirikan sejumlah bagian, itu akan iterasi interval tertentu semua nilai yang mungkin.Contoh berikut menunjukkan dua contoh interval siklus:
object Test { def main(args: Array[String]) { var a = 0; var b = 0; // for 循环 for( a <- 1 to 3; b <- 1 to 3){ println( "Value of a: " + a ); println( "Value of b: " + b ); } } }
Mengeksekusi hasil kode output di atas:
$ scalac Test.scala $ scala Test Value of a: 1 Value of b: 1 Value of a: 1 Value of b: 2 Value of a: 1 Value of b: 3 Value of a: 2 Value of b: 1 Value of a: 2 Value of b: 2 Value of a: 2 Value of b: 3 Value of a: 3 Value of b: 1 Value of a: 3 Value of b: 2 Value of a: 3 Value of b: 3
untuk bersepeda set
Sintaks untuk bersepeda ditetapkan sebagai berikut:
for( var x <- List ){ statement(s); }
Sintaks di atas,Daftar adalah kumpulan variabel, untuk iterates loop atas seluruh elemen koleksi.
contoh
Contoh berikut akan loop koleksi digital. Kami menggunakanDaftar ()untuk membuat koleksi. Dan kemudian kita akan rinci nanti bab mengatur.
object Test { def main(args: Array[String]) { var a = 0; val numList = List(1,2,3,4,5,6); // for 循环 for( a <- numList ){ println( "Value of a: " + a ); } } }
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 value of a: 5 value of a: 6
untuk loop filter
Scala dapat menggunakan satu atau lebih dari pernyataanjika untuk menyaring beberapa elemen.
Berikut ini adalah penggunaan filter dalam untuk sintaks lingkaran.
for( var x <- List if condition1; if condition2... ){ statement(s);
Anda dapat menggunakan tanda titik koma (;) untuk menambah ekspresi dari satu atau lebih filter.
contoh
Berikut ini adalah loop filter misalnya:
object Test { def main(args: Array[String]) { var a = 0; val numList = List(1,2,3,4,5,6,7,8,9,10); // for 循环 for( a <- numList if a != 3; if a < 8 ){ println( "Value of a: " + a ); } } }
Mengeksekusi hasil kode output di atas:
$ scalac Test.scala $ scala Test value of a: 1 value of a: 2 value of a: 4 value of a: 5 value of a: 6 value of a: 7
untuk digunakan yield
Anda dapat kembali nilai untuk siklus sebagai tempat penyimpanan variabel. Sintaks adalah sebagai berikut:
var retVal = for{ var x <- List if condition1; if condition2... }yield x
Perhatikan bahwa kurung keriting digunakan untuk menyimpan variabel dankondisi,retVal adalah variabel, loop akan menghasilkan elemen arus bawah, disimpan dalam koleksi, koleksi kembali setelah akhir siklus.
contoh
Contoh berikut menunjukkan penggunaan untuk hasil lingkaran:
object Test { def main(args: Array[String]) { var a = 0; val numList = List(1,2,3,4,5,6,7,8,9,10); // for 循环 var retVal = for{ a <- numList if a != 3; if a < 8 }yield a // 输出返回值 for( a <- retVal){ println( "Value of a: " + a ); } } }
Mengeksekusi hasil kode output di atas:
$ scalac Test.scala $ scala Test value of a: 1 value of a: 2 value of a: 4 value of a: 5 value of a: 6 value of a: 7