Menu
CoddyTech

Thoát

Thuộc phần Kiến thức nền tảng trong hành trình Ruby của Coddy. Bài học 41 trên 88.

Đôi khi bạn cần thoát khỏi vòng lặp sớm, trước khi vòng lặp kết thúc tự nhiên. Từ khóa break giúp bạn dừng vòng lặp ngay lập tức và tiếp tục chạy đoạn code phía sau.

Hãy tưởng tượng bạn đang tìm một con số cụ thể. Khi tìm thấy nó, bạn không cần kiểm tra những phần còn lại nữa:

for i in 1..10
  if i == 5
    puts "Found it!"
    break
  end
  puts i
end
puts "Loop ended"

Lệnh này in ra 1, 2, 3, 4, sau đó là "Found it!", cuối cùng là "Loop ended". Khi i đạt đến 5, break được thực thi và vòng lặp dừng ngay lập tức. Các số từ 6 đến 10 không bao giờ được xử lý.

Từ khóa break dùng được với mọi kiểu vòng lặp. Đây là ví dụ về vòng lặp while:

count = 0
while true
  count += 1
  if count > 3
    break
  end
  puts count
end

Lệnh này in ra 1, 2, 3. Dù điều kiện là true (thông thường vòng lặp sẽ chạy mãi), break dừng vòng lặp khi count lớn hơn 3.

challenge icon

Thử thách

Dễ

Đọc hai số nguyên từ đầu vào:

  1. Một limit biểu thị giới hạn trên của một phạm vi bắt đầu từ 1
  2. Một số target cần tìm

Lặp qua các số từ 1 đến limit. In mỗi số trên một dòng riêng. Khi đến target, in Found! thay cho số đó và dừng vòng lặp ngay lập tức bằng break.

Nếu target nằm trong phạm vi, vòng lặp sẽ dừng sớm. Nếu target lớn hơn limit, tất cả các số từ 1 đến limit sẽ được in ra.

Ví dụ, nếu đầu vào là 10 và 4, đầu ra sẽ là:

1
2
3
Found!

Nếu đầu vào là 5 và 8, đầu ra sẽ là:

1
2
3
4
5

Tự làm thử

# Đọc đầu vào
limit = gets.to_i
target = gets.to_i

# TODO: Viết code bên dưới
# Lặp qua các số từ 1 đến limit
# In mỗi số trên một dòng riêng
# Khi đến target, in ra chính xác nội dung trong hướng dẫn rồi thoát khỏi vòng lặp
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch Ruby online