دستور until
این دستور شباهت زیادی به دستور while دارد با این تفاوت که عبارت شرطی آن باید برابر با false باشد تا اجرا گردد. ساختار دستور until به صورت زیر است:
until (condition) statements end
در دستور بالا عبارت statements زمانی اجرا می گردد که مقدار عبارت شرطی condition برابر با false باشد. به مثال زیر توجه کنید:
1counter = 1 2 3until counter > 10 4 puts "Hello World!" 5 counter = counter + 1 6end
Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World!
در کد بالا و در خط 1، یک متغیر تعریف کرده ایم و مقدار ان را برابر 1 گذاشته ایم. در خط 3 چک می شود که آیا مقدار متغیر ما از 10 بزرگتر است یا نه؟ چون مقدار متغیر ما از 10 بزرگتر نیست در نتیجه شرط ما false شده و خطوط 4 و 5 اجرا می شوند. دستور until را به صورت معکوس هم می توان نوشت. در این حالت، قسمت شرط حلقه، در انتهای حلقه بررسی می شود، بنابراین، این حلقه حداقل یکبار اجرا می گردد. ساختار until معکوس به صورت زیر است:
code
until conditional
یا
begin #Code to execute end until condition
به مثال زیر توجه کنید:
number = 1 begin puts "Hello World!" number += 1 end until number > 10
Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World!
همانطور که در کد بالا مشاهده می کنید، ما در خط آخر شرط حلقه را بررسی می کنیم و این باعث می شود که حداقل یک بار دستورات بین دو کلمه begin و end اجرا شوند.