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