پرش به مطلب اصلی

حلقه تکرار

معرفی

زبان Wave حلقه‌هایی برای اجرای مکرر کد فراهم می‌کند. حلقه‌ها زمانی استفاده می‌شوند که نیاز به اجرای مکرر کد بر اساس شرایط خاص یا تعداد مشخصی باشد.

حلقه‌هایی که Wave پشتیبانی می‌کند عبارتند از:

  • حلقه while: تکرار بر اساس شرط

  • حلقه for: تکرار بر اساس دفعات

همچنین کلمات کلیدی break و continue برای کنترل جریان در میانه حلقه ارائه می‌شوند. این بخش کاربرد حلقه‌ها و کلمات کلیدی کنترل جریان را توضیح می‌دهد.


حلقه while

حلقه while کد را در حالی تکرار می‌کند که شرط داده شده برابر با true باشد. وقتی شرط برابر با false شود، تکرار خاتمه می‌یابد.

ساختار پایه

در زیر نحو پایه حلقه while آمده است:

while (شرط) {
// کدی که باید تکرار شود
}
  • شرط باید از نوع bool باشد.

  • بلوک کد باید در {} نوشته شود و می‌تواند شامل یک یا چند دستور باشد.

مثال: چاپ از ۰ تا ۴

var i :i32 = 0;

while (i < 5) {
println("i برابر است با {}.", i);
i = i + 1;
}

این مثال تا زمانی که i کمتر از ۵ باشد تکرار می‌شود و در هر تکرار مقدار را چاپ کرده و ۱ واحد افزایش می‌دهد.


حلقه for

حلقه for در مواقعی که تعداد تکرار مشخص است، مفید است. ابتدا مقدار اولیه، شرط و سپس عبارت افزایش را برای ساخت حلقه مشخص کنید.

ساختار پایه

for (var نام_متغیر: نوع = مقدار_اولیه; شرط; عبارت_افزایش) {
// کدی که باید تکرار شود
}
  • نام_متغیر: متغیری که برای کنترل تکرار استفاده می‌شود

  • شرط: تکرار تا زمانی که برابر با true باشد اجرا می‌شود

  • عبارت_افزایش: مقدار متغیر تکرار را تغییر می‌دهد

مثال: چاپ از ۱ تا ۵

for (var i: i32 = 1; i <= 5; i = i + 1) {
println("i = {}", i);
}

حلقه تو در تو

می‌توانید درون یک حلقه دیگر حلقه‌ای بنویسید که به آن حلقه تو در تو می‌گویند. این برای پیمایش آرایه‌های دو بعدی یا ترکیبات بسیار مفید است.

مثال: حلقه while دو تایی

var i :i32 = 0;

while (i < 3) {
var j :i32 = 0;

while (j < 2) {
println("i={}, j={}", i, j);
j = j + 1;
}

i = i + 1;
}

حلقه break

حلقه break به محض خروج حلقه را خاتمه می‌دهد. این زمانی مفید است که می‌خواهید تکرار را با برآورده شدن شرطی متوقف کنید.

مثال: خاتمه تکرار در یک مقدار خاص

var i :i32 = 0;

while (true) {
if (i == 5) {
break;
}

println(i);
i = i + 1;
}

حلقه continue

حلقه continue بقیه قسمت‌های تکرار فعلی را نادیده می‌گیرد و تکرار بعدی را آغاز می‌کند. زمانی استفاده می‌شود که می‌خواهید فقط بخشی از بلوک تکرار را در شرایط خاص اجرا کنید.

مثال: فقط اعداد زوج را چاپ کنید.

for (var i: i32 = 0; i <= 10; i = i + 1) {
if (i % 2 == 1) {
continue;
}

println(i);
}

خلاصه

دستور زبانتوضیح
در حالی کهتکرار تا زمانی که شرط برقرار باشد
برایانجام تکرار با استفاده از مقدار اولیه، شرط و عبارت افزایش
شکستنتوقف فوری حلقه
ادامه دادنعبور به تکرار بعدی

حلقه‌های Wave به گونه‌ای طراحی شده‌اند که بتوانند به صورت انعطاف‌پذیری عملیات تکرار بر اساس شرط یا دفعات انجام دهند.

با استفاده همزمان از جملات break و continue می‌توانید کنترل جریان تکرارهای پیچیده‌تری داشته باشید.