الحدود او النطاق من المسمى نعلم او نفهم ان لها قيمة بداية وقيمة نهاية محدودة وبداخلها ارقام او حروف الخ .
أولا :النطاق :-
يعبر عن الأرقام مثلا الواقعة بين ١ إلى ١٠ أو الأحرف من أ إلى ي ، أي انه مجموعة قيم متسلسلة لها قيمة بداية ولها نهاية ، في تعبيراتنا البرمجية نحتاجها فهي توفر الوقت وتعتبر تعبير ممتاز وسريع .
أمثلة :
لطباعة الأرقام الزوجية من ١ إلى ٢٠ :
var evenNumbers=1..20
for(i in evenNumbers){
if(i%2==0)
{
println(i)
}
}
output : 2 4 6 8 10 ..20
البحث عن قيمة ما إذا كانت موجودة في هذا النطاق ام لا :
var evenNumbers = 1..20
var i = 30
if (i in evenNumbers) {
println("the value in the range")
} else {
println("not found")
}
not found
تطبيق نفس المثال على السلاسل النصية :
var word:String="Hello , My name is Ahmed"
var letter:Char='b'
if(letter in word){
println("the value in the word")
} else {
println("not found")
}
not found
ثانيا: القفزة أو step :-
القفزة هو بمعنى يكون لدي نطاق ولكن اريد عناصر معينة تبعد عن بعضها بمسافة ثابته ، بمعنى أخر نعلم أن الأرقام الزوجية تبعد عن بعضها رقمين فعندما اعمل قفز في النطاق استطيع الوصول إليه.
var numbers= 2..20
for(i in numbers step 2){
println(i)
}
output : 2 4 6 8 10 ..20
ثالثا: التعامل مع النطاق :-
downTo :
لطباعة عناصر المصفوفة تنازليا ، مثال :
for (i in 10 downTo 0){
println(i)
}
until :
لطباعة العناصر تصاعديا ، مثال :
for (i in 1 until 10){
println(i)
}
هنا يبدأ يطبع من رقم ١ ويتوقف عند ٩ ، وذلك لأن until تعني حتى أي كآننا نقول حتى ترى ١٠ فتوقف لو أردنا طباعة الرقم ١٠ فسنجعل الرقم ينتهي عند ١١
دالة جاهزة لو اردنا البحث بداخل النطاق و والقيمة العائدة من البحث منطقية ، مثال :
|
contains |
دالة للتحقق هل النطاق خالي ام لا والقيمة العائدة منطقية ، مثال :
|
isEmpty |
تقوم بطباعة العنصر الذي يبدأ فيه النطاق “نقط؛ البداية”، مثال :
|
start |
طباعة اخر عنصر ينتهي عنده النطاق “نقط؛ النهاية”،مثال :
|
endInclusive |
الترميز الخاص بالنطاق نفسه ، مثال :
|
hashCode |
للتحقق من مطابقة القيم ، مثال :
هنا عرفنا متغير اخر له نفس النطاق ، وقمنا بالاختبار هل هم متساويان ام لا . |
equals |
لطباعة عناصر المصفوفة تنازليا ، مثال : for (i in 10 downTo 0){ |
downTo |
لطباعة العناصر تصاعديا ، مثال : for (i in 1 until 10){ هنا يبدأ يطبع من رقم ١ ويتوقف عند ٩ ، وذلك لأن until تعني حتى أي كآننا نقول حتى ترى ١٠ فتوقف لو أردنا طباعة الرقم ١٠ فسنجعل الرقم ينتهي عند ١١ |
until |