دستور 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 اجرا شوند.