English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
جملة دائرة for في Scala تسمح لك بكتابة بنية دائرة تكرارية تنفذ مرة واحدة.
في لغة Scala دائرة جملة الدائرة:
لـ( var x <- Range ){ statement(s); }
في الجملة السابقة،Range يمكن أن يكون عرضًا للمناطق الرقمية i to j ، أو i until j، يشير السهم الأيسر <- إلى تخصيص المتغير x.
في هذا المثال، تم استخدام i to j مثال على الجملة (يحتوي على j):
object Test {
def main(args: Array[String]) {
var a = 0;
// دورة for
لـ( a <- 1 to 10){
println( "قيمة a: " + a );
}
}
}
النتيجة التي تنتج عن تنفيذ الكود أعلاه هي:
$ scalac Test.scala $ scala Test قيمة a: 1 قيمة a: 2 قيمة a: 3 قيمة a: 4 قيمة a: 5 قيمة a: 6 قيمة a: 7 قيمة a: 8 قيمة a: 9 قيمة a: 10
في هذا المثال، تم استخدام i until j مثال على الجملة (لا يحتوي على j):
object Test {
def main(args: Array[String]) {
var a = 0;
// دورة for
لـ( a <- 1 until 10){
println( "قيمة a: " + a );
}
}
}
النتيجة التي تنتج عن تنفيذ الكود أعلاه هي:
$ scalac Test.scala $ scala Test قيمة a: 1 قيمة a: 2 قيمة a: 3 قيمة a: 4 قيمة a: 5 قيمة a: 6 قيمة a: 7 قيمة a: 8 قيمة a: 9
في دائرة for يمكنك استخدام نقطة السطر (;) لضبط عدة مناطق، وسيعبر عن جميع القيم المحتملة في المناطق المحددة. هذا المثال يوضح دائرة for بمناطق متعددة:
object Test {
def main(args: Array[String]) {
var a = 0;
var b = 0;
// دورة for
لـ( a <- 1 to 3; b <- 1 to 3){
println( "قيمة a: " + a );
println( "قيمة b: " + b );
}
}
}
النتيجة التي تنتج عن تنفيذ الكود أعلاه هي:
$ scalac Test.scala $ scala Test قيمة a: 1 قيمة b: 1 قيمة a: 1 قيمة b: 2 قيمة a: 1 قيمة b: 3 قيمة a: 2 قيمة b: 1 قيمة a: 2 قيمة b: 2 قيمة a: 2 قيمة b: 3 قيمة a: 3 قيمة b: 1 قيمة a: 3 قيمة b: 2 قيمة a: 3 قيمة b: 3
جملة الجملة التي تستخدمها في دائرة for لتصفية المكونات هي:
لـ( x <- List ){ statement(s); }
في الجملة السابقة، List المعلمة هي مجموعة، ودائرة for ستتكرر عبر جميع عناصر المجموعة.
في هذا المثال، سيقوم الدائرة by for بتكرار مجموعة الأرقام. List() لإنشاء مجموعة. سنقوم بتوضيح المجموعات في الفصول القادمة.
object Test {
def main(args: Array[String]) {
var a = 0;
val numList = List(1,2,3,4,5,6);
// دورة for
لـ( a <- numList ){
println( "قيمة a: " + a );
}
}
}
النتيجة التي تنتج عن تنفيذ الكود أعلاه هي:
$ scalac Test.scala $ scala Test قيمة a: 1 قيمة a: 2 قيمة a: 3 قيمة a: 4 قيمة a: 5 قيمة a: 6
Scala يمكن أن تستخدم واحدة أو أكثر إذا استخدام الجملة لتصفية بعض العناصر.
هذا هو جملة الجملة التي تستخدمها في دائرة for لتصفية المكونات.
لـ( var x <- List if condition1; if condition2... { statement(s);
يمكنك استخدام نقطة السطر (;) لإضافة شرط تصفية واحد أو أكثر إلى التعبير.
هذا مثال على تصفية في دائرة for
object Test {
def main(args: Array[String]) {
var a = 0;
val numList = List(1,2,3,4,5,6,7,8,9,10);
// دورة for
لـ( a <- numList
if a != 3; if a < 8 ){
println( "قيمة a: " + a );
}
}
}
النتيجة التي تنتج عن تنفيذ الكود أعلاه هي:
$ scalac Test.scala $ scala Test قيمة a: 1 قيمة a: 2 قيمة a: 4 قيمة a: 5 قيمة a: 6 قيمة a: 7
يمكنك حفظ نتيجة دورة for كمتغير. صيغة النص هي:
var retVal = for{ var x <- List if condition1; if condition2... }
انتبه إلى العلامات البرمجية الموجودة داخل الكوفيretVal هي متغير، والـ yield في الدورة سيسجل العنصر الحالي ويحفظه في المجموعة، وبعد انتهاء الدورة سيتم العودة إلى المجموعة.
في هذا المثال، يتم عرض كيفية استخدام yield في دورة for:
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
}
// إدخال العودة
for( a <- retVal){
println( "قيمة a: " + a );
}
}
}
النتيجة التي تنتج عن تنفيذ الكود أعلاه هي:
$ scalac Test.scala $ scala Test قيمة a: 1 قيمة a: 2 قيمة a: 4 قيمة a: 5 قيمة a: 6 قيمة a: 7