در آموزش های پیش، پیشرفت خوبی در یادگیری این زبان برنامه نویسی، داشته ایم. اکنون میخواهیم یکی از مهم ترین بحث ها (و در اکثر مواقع کار راه انداز ترین) یعنی حلقه های تکرار را بررسی کنیم. همچون سایر بخش های این زبان، این بخش هم کاملا از روبی گرفته شده است. در کافی اسکریپت، دو حلقه while و for داریم، که دقیقا عملکرد مشابه همین حلقه ها در روبی را دارند.
حلقه while
این حلقه، ساختار بسیار ساده ای دارد. در واقع، تمام عملیات این حلقه در بدنه انجام می شود و تنها یک شرط لازم دارد. ساختار کلی حلقه while در کافی اسکریپت به این شکل است :
n = 0
sum = 0
while n <= 10
sum += n
n += 1
alert sum
همانطور که مشاهده میکنید، این حلقه یک شرط درست دریافت کرده، و تا زمانی که شرط درست باشد اجرا میشود و متغیر sum را با n جمع میزند. معادل این کد در جاوااسکریپت به این شکل است :
var n, sum;
n = 0;
sum = 0;
while (n <= 10) {
sum += n;
n += 1;
alert(sum);
}
میتوان قطعه کد های پیشرفته تری نیز با while نوشت، یا درون برنامه های دیگر از آن استفاده کرد. برای مثال، برنامه زیر اعضای یک آرایه را به صورت پیام نشان میدهد :
a = [1, 2, 3, 4, 5]
n = 0
while n < a.length
alert a[n]
n += 1
عملکرد کد فوق به این شکل است که تا زمانی که n از طول a کوچکتر است، اعضای a را چاپ میکند. معادل کد فوق در جاوااسکریپت به این شکل است :
var a, n;
a = [1, 2, 3, 4, 5];
n = 0;
while (n < a.length) {
alert(a[n]);
n += 1;
}
اکنون، با حلقه while آشنا شده اید. یادتان باشد دستورات منطقی مانند true و false هم میتوانند شرایط حلقه while باشند، که در صورت true بودن (یا همیشه راستگو بودن)، حلقه بی نهایت است و چنانچه false (یا همیشه دروغگو) باشد، حلقه اصلا اجرا نمی گردد.
پس از این که با حلقه while آشنا شدیم، نوبت میرسد به حلقه for.
حلقه for
ساختار for در کافی اسکریپت از روبی اقتباس شده است، اما حقیقتا کافی اسکریپت، این ساختار را بهتر پیاده سازی کرده است. بعنوان مثال، این قطعه کد را در نظر بگیرید :
a = [1, 2, 3, 4, 5]
alert b for b in a
عملکرد این قطعه کد به این شکل است که :
۱. اول تابعی که فراخوانی شده، متغیر را بعنوان آرگومان دریافت میکند.
۲. آن را به یکایک اعضای آرایه مقابلش نسبت میدهد.
۳. تابع را اجرا میکند.
در واقع عملکرد بسیار ساده ای دارد، که در جاوااسکریپت کد به این شکل نوشته می شود :
var a, b, i, len;
a = [1, 2, 3, 4, 5];
for (i = 0, len = a.length; i < len; i++) {
b = a[i];
alert(b);
}
در واقع ساختار حلقه for در زبان های روبی و کافی اسکریپت، همان foreach است.
تا اینجا، با بنیان و اساس برنامه نویسی در کافی اسکریپت آشنا شدیم. در آموزش های بعدی، سراغ مفاهیم پیشرفته تر این زبان خواهیم رفت .