Vòng lặp while
Vòng lặp while thực hiện các tác vụ trong một khối lệnh khi điều kiện logic
condition là true, cú pháp như sau:
while condition # các lệnh trong khối lệnh end
Ví dụ tổng các số nguyên từ 0 đến 20
i = 0
sum = 0
while i <= 20
sum += i
i += 1
end
puts sum
Vòng lặp until
Vòng lặp until ngược điều kiện với vòng lặp while, khi điều kiện
kiểm tra là false thì thực hiện khối lệnh
Ví dụ, in ra các số chẵn từ 0 đến 10
a = 0
until a > 10
puts "a = #{a}"
a +=2
end
Vòng lặp trên kiểm tra khi a > 10 là sai thì in ra kết quả
Vòng lặp for
Vòng lặp for duyệt qua một tập hợp, ví dụ như dải. Mỗi lần lặp có một biến
lưu phần tử hiện tại của tập hợp.
for i in (1..10) puts i end
Vòng lặp trên duyệt qua dải số (1..10), mỗi lần lặp tương ứng với một phần tử trong dải
số, và giá trị phần tử lưu vào biến i.
Điều hướng lặp với break, next
Lệnh break
Trong vòng lặp gặp break thì sẽ thoát lặp
for i in 1..50 break if i > 30 puts i end
Vòng lặp trên sẽ thoát nếu i > 30
Lệnh next
Trong vòng lặp khi gặp next sẽ chuyển ngay đến lần lặp tiếp theo, bỏ quả các lệnh
sau break của đợt lặp hiện tại
for i in 0..10 next if i %2 == 0 puts i end
Vòng lặp trên in ra các số lẻ (vì khi gặp các số chẵn nó chuyển ngay đến lần lặp tiếp theo).
Lệnh retry
Vòng lặp khi gặp retry nó sẽ tiến hành lặp lại từ đầu.
Lệnh redo
Vòng lặp gặp redo sẽ lặp lại lần lặp hiện tại.
Vòng lặp do
Vòng lặp này chạy khối lệnh cho đến khi gặp break
x = 0 loop do puts x x += 1 break if x > 10 end
