repeat…while

حلقه repeat while یکی دیگر از ساختارهای تکرار است. این حلقه بسیار شبیه حلقه while است با این تفاوت که در این حلقه ابتدا کد اجرا می‌شود و سپس شرط مورد بررسی قرار می‌گیرد. ساختار حلقه repeat while به صورت زیر است :

repeat
{
   //code to repeat

} while (condition)

همانطور که مشاهده می‌کنید شرط در آخر ساختار قرار دارد. این بدین معنی است که کدهای داخل بدنه حداقل یکبار اجرا می‌شوند. برخلاف حلقه while که اگر شرط نادرست باشد دستورات داخل بدنه اجرا نمی‌شوند. یکی از موراد برتری استفاده از حلقه repeat while نسبت به حلقه while، زمانی است که، شما بخواهید اطلاعاتی از کاربر دریافت کنید. به مثال زیر توجه کنید :

استفاده از while

//while version

print("Enter a number greater than 10: ", terminator:"")
var number = Int(readLine()!)

while(number! < 10)
{
    print("Enter a number greater than 10: ", terminator:"")
    number = Int(readLine()!)
}

استفاده از repeat while

//do while version

var number :Int?
repeat
{
    print("Enter a number greater than 10: ", terminator:"")
    number = Int(readLine()!)
}
while(number! < 10)

مشاهده می‌کنید که از کدهای کمتری در بدنه repeat while نسبت به while استفاده شده است.