(Bài tiếp) Mảng

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 conditiontrue, 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

Đăng ký nhận bài viết mới
(Bài tiếp) Mảng