حلقه for…in

یکی دیگر از ساختارهای تکرار حلقه for…in است. این حلقه عملی شبیه به حلقه while انجام می‌دهد. ساختار حلقه for…in به صورت زیر است :

for iterator_var in sequence
   code to repeat
end

iterator_var یک متغیر موقتی، in کلمه کلیدی و sequence هم می تواند یک محدوده، آرایه و … باشد. می توان حلقه for را اینگونه ترجمه کرد، که به ازای یا به تعداد آیتم های موجود در سری، فلان کارها یا کدها را تکرار کن. در زیر یک مثال از حلقه for…in آمده است:

for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    puts "Number #{i}"
end
Number 1
Number 2
Number 3
Number 4
Number 5
Number 6
Number 7
Number 8
Number 9
Number 10

برنامه بالا اعداد 1 تا 10 را با استفاده از حلقه for…in می‌شمارد. ابتدا یک متغیر موقتی (i)، سپس کلمه کلیدی in و در آخر یک سری از اعداد که در اینجا یک آرایه می باشد، تعریف می‌کنیم. کد اجرا می‌شود. هر بار که حلقه اجرا می شود، ابتدا یکی از آیتم های آرایه در متغیر i قرار گرفته و در خط بعد چاپ می شود. این کار تا چاپ آخرین آیتم ادامه می یابد. به جای آرایه در کد بالا می توانید از محدوده هم استفاده کنید :

for i in 1..10