حلقه ها (ASP Looping)
«حلقه (Loop)» یعنی اجرای تکراری کد. در VBScript چهار مدل داریم: For، For Each، Do و While/Wend. حلقه مثل تکرار تمرین درس است؛ تا رسیدن به هدف، می چرخد. اینجا «حلقه های ASP» را ساده و عملی می بینیم.
For...Next: تکرار با شمارنده
وقتی تعداد تکرار معلوم است، از For...Next استفاده کن. شمارنده از شروع تا پایان می رود.
<%
Dim i
For i = 0 To 5
Response.Write("The number is " & i & "<br />")
Next
%>
Step: افزایش یا کاهش دلخواه
با Step می توانی گام را تعیین کنی. گاهی دو تا دو تا می روی، یا برعکس.
<%
Dim i
For i = 2 To 10 Step 2
' some code
Next
%>
<%
Dim i
For i = 10 To 2 Step -2
' some code
Next
%>
Exit For: خروج زودتر از حلقه
اگر شرطی رسید، با Exit For از حلقه بیرون بیا. این کار زمان را حفظ می کند.
<%
Dim i
For i = 1 To 10
If i = 5 Then Exit For
' some code
Next
%>
For Each...Next: پیمایش آرایه یا کالکشن
برای عبور از همه عناصر، For Each خواناتر است. مثل خواندن اسم های لیست کلاس.
<%
Dim cars(2)
cars(0) = "Volvo"
cars(1) = "Saab"
cars(2) = "BMW"
Dim x
For Each x In cars
Response.Write(x & "<br />")
Next
%>
Do...Loop: زمانی که تعداد معلوم نیست
وقتی نمی دانی چند بار تکرار می خواهی، Do...Loop مناسب است. می توانی While یا Until بگذاری.
Do While / Loop While
تا وقتی شرط درست است، تکرار کن. مدل دوم حداقل یک بار اجرا می شود.
<%
Dim i
i = 12
Do While i > 10
' some code
i = i - 1
Loop
%>
<%
Dim j
j = 9
Do
' some code
j = j + 1
Loop While j > 10
%>
Do Until / Loop Until
تا وقتی به شرط برسی، تکرار کن. وقتی شرط درست شد، متوقف شو.
<%
Dim k
k = 5
Do Until k = 10
' some code
k = k + 1
Loop
%>
<%
Dim t
t = 12
Do
' some code
t = t - 1
Loop Until t = 10
%>
Exit Do: خروج ایمن از حلقه
وقتی شرط بحرانی شد، با Exit Do زودتر خارج شو تا منابع حفظ شوند.
<%
Dim m
m = 12
Do Until m = 10
m = m - 1
If m < 10 Then Exit Do
Loop
%>
نکته: برای تصمیم گیری داخل حلقه، بخش شرط ها را ببین. برای آشنایی با تعریف داده ها، به متغیرها برو. همین صفحه حلقه های ASP را نیز نشانک کن.
گام های عملی
- یک فایل .asp بساز و اجرا کن.
- حلقه For را بنویس و خروجی بگیر.
- همان کار را با Do Until تکرار کن.
جمع بندی سریع
- For برای تکرار با تعداد مشخص است.
- For Each برای پیمایش مجموعه هاست.
- Do وقتی تعداد نامعلوم است، عالی است.
- Exit For/Do خروج زودهنگام را امن می کند.
- Step گام تکرار را تنظیم می کند.