به نام دانای بر حق
مقدمه
در این سری آموزش ها قصد داریم syntax زبان برنامه نویسی دارت Dart را با هم یاد بگیریم، برای دنبال کردن سری کلی این آموزش ها و دیدن قست ها اینجا کلیک کنید.
دارت زبان برنامه نویسی flutter می باشد برای نوشتن برنامه های native یعنی با کد محلی برای android و ios هم زمان با طراحی متریالز.
حلقه for در زبان برنامه نویسی دارت
در اين نوع حلقه که پر کاربرد ترین حلقه است، مجموعه دستورالعمل ها به تعداد معلوم و مورد نياز ، تکرار خواهد شد . دقیقا همانند جاواسکریپت و شبیه C :
توضیحات تکمیلی:
اين حلقه در هنگام تعريف 3 پارامتر اصلی دارد :
- مقدار اوليه متغير : به وسيله اين مقدار ، مقدار اوليه برای شروع شمارنده حلقه تعيين می شود .
- عبارت کنترلی : در اين قسمت يک عبارت کنترلی مرتبط با شمارنده حلقه تعيين می شود ، که در هر بار اجرای مجدد حلقه ، شرط عبارت کنترل شده و در صورت برقرار بودن شرط ، دستورات حلقه اجرا می شود .
- گام افزايش يا کاهش : در اين قسمت ، ميزانی که متغير شمارنده حلقه ، در هر بار اجرای دستورات آن افزايش يا کاهش می يابد را تعيين می کنيم .
نحوه عملکرد اين حلقه به صورت زير است :
در اين حلقه ، از يک متغير به عنوان شمارنده یا کنترل کننده حلقه استفاده می شود . اين متغير در ابتدای اجرای حلقه ، مقدار دهی اوليه شده و اجرای مجدد حلقه با يک عبارت شرطی کنترل شده که در صورت درست بودن شرط ، دستورات حلقه يکبار اجرا می شود و با هر بار اجرای حلقه متغير حلقه به اندازه گام تعيين شده ، افزايش يا کاهش می يابد .
به مثال زیر توجه کنید:
var message = new StringBuffer('Dart is fun');
for (var i = 0; i < 5; i++) {
message.write('!');
}
حلقه while در زبان برنامه نویسی دارت
در اين حالت ، دستورالعمل های حلقه تا زمانی که شرط تعيين شده برای آن درست باشد ، مجددا اجرا خواهد شد .
در اين نوع حلقه ابتدا شرط حلقه در مقابل کلمه کليدی while تعريف می شود . در هر بار اجرای حلقه ، برنامه شرط يا شروط حلقه را چک کرده و در صورت بر قرار بودن آن ، دستورالعمل های حلقه را يکبار اجرا کرده و مجددا به ابتدای حلقه باز می گردد .
در حلقه while نيز می توان از يک متغير برای کنترل اجرای حلقه استفاده کرد . در صورت استفاده از يک متغير شمارنده ، بايد گام افزايش يا کاهش متغير در بدنه دستورات حلقه تعريف شود و در صورت عدم استفاده از يک متغير کنترلی ، بايد شرط حلقه در ادامه به نحوی نقض شود ، وگرنه حلقه به صورت بی نهايت ادامه می يابد .
شکل کلی تعريف يک حلقه while به صورت زير است :
while (!isDone()) {
doSomething();
}
حلقه do while در دارت
این حلقه کاملا شبیه while بوده با این تفاوت که حداقل یک بار اجرا میشود به کد زیر توجه کنید:
do {
printLine();
} while (!atEndOfPage());
پیمایش در زبان برنامه نویسی دارت
for .. in در زبان دارت
برای پیمایش یا به اصطلاح حرکت کردن در یک لیست یا شی object دقیقا مثلا js میتوانید از for .. in استفاده کنید. به ازای خواندن هر يک از اعضا آرايه يا يکی از خواص شی مورد نظر ، يکبار دستورات درون حلقه اجرا خواهد شد .
تعداد دفعات تکرار دستورات حلقه ، برابر با تعداد اعضای آرايه و يا تعداد خواص شی مورد نظر است . در اين حلقه معمولا از يک متغير به عنوان شمارنده يا انديس آرايه استفاده می شود .
مثال:
var collection = [0,1,2];
for (var x in collection) {
print(x);
}
forEach در دارت
این نوع حلقه برای پیمایش یک آرایه یا همان لیست به کار می آید و زمانی مناسب است که که شما مقدار های شمارنده را نمیدانید و هیچ شباهتی با foreach در php ندارد در واقع چیزی شبیه array_walk در php می باشد که با آن یک تابعی برای اعمال تغییرات روی تک ت اعضای یک لیست میتوانید انجام دهید به مثال ساده زیر توجه کنید:
main() {
var list = [4,1,2];
list.forEach(f(e) => print(e));
}
در بالا f(e) یک تابع برای پرینت اعضا تعریف شده و مثال پیچیده تر زیر نیز می تواند از ابهام این موضوع جدید کاهش دهد
var callbacks = [];
for (var i = 0; i < 2; i++) { callbacks.add(() =>; print(i));
}
callbacks.forEach((c) => c());
خروج از حلقه و یا ادامه دادن در دارت
دستورات break و continue در C و javascript و یا java معرف حضورتون هستند کار کلی این دو دستور به صورت زیر است:
beark: برای خروج کامل از حلقه در حال اجرا می باشد
continue: برای گذشتن از بدنه حلقه در گام جاری می باشد و ادامه دادن از سر حلقه
با تصاویر بالا کاربرد آنها مشخص شد.
اما مثال:
while (true) {
if (shutDownRequested()) break;
processIncomingRequests();
}
for (int i = 0; i < candidates.length; i++) {
var candidate = candidates[i];
if (candidate.yearsExperience < 5) {
continue;
}
candidate.interview();
}
هر آنچه دو مورد حلقه ها نیاز بود سعی شد با بیشتر توضیح و کاملترین شکل ممکن مطرح شود
امیدوارم که استفاده کرده باشید.
اول از همه کوچک ترین عضو مجموعه 4xmen بنده حقیر هستم.
در ثانی یک توسعه دهنده هستم زمینه های تخصصی کارم :
Delphi, Rust ,PHP, C++ ,Python, JavaScript, Unity game engine, C#, asm
و علاقه مند به لینوکس، RCE ، کریپتوگرافی هستم.
تا الان حضرت حق اینا رو به ما داده و هر وقت که بخواد ازمون میگیره دست خودشه.
یا حق، با حق، تا حق



دیدگاهتان را بنویسید لغو پاسخ