Menu
CoddyTech

Vòng lặp times

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 44 trên 88.

Ruby cung cấp một cách thanh lịch hơn để lặp lại code một số lần cụ thể. Vòng lặp times là cách tiếp cận đặc trưng của Ruby, gần như đọc lên giống tiếng Anh.

Thay vì thiết lập một phạm vi, bạn chỉ cần gọi times trên một số:

3.times do
  puts "Hello!"
end

Câu lệnh này in ra "Hello!" ba lần. Code bên trong khối lệnh do...end chạy đúng 3 lần. Cách này gọn hơn so với viết for i in 1..3 khi bạn không cần biến đếm.

Nhưng nếu bạn cần biết mình đang ở lần lặp thứ mấy thì sao? Vòng lặp times có thể cung cấp một chỉ số bắt đầu từ 0:

4.times do |i|
  puts i
end
# Đầu ra: 0, 1, 2, 3

Biến i nằm giữa hai dấu gạch đứng |i| nhận số lần lặp hiện tại. Lưu ý rằng biến này đếm từ 0, không phải 1. Điều này hữu ích khi bạn cần cả vòng lặp lẫn bộ đếm:

3.times do |num|
  puts "Iteration #{num + 1}"
end
# Đầu ra: Iteration 1, Iteration 2, Iteration 3

Vòng lặp times rất phù hợp khi bạn biết chính xác mình cần lặp lại bao nhiêu lần và muốn viết code rõ ràng, dễ đọc.

challenge icon

Thử thách

Dễ

Đọc một số n từ đầu vào. Dùng vòng lặp times cùng với chỉ số của vòng lặp để in bảng nhân với số 2, hiển thị các tích từ 2 x 0 đến 2 x (n-1).

Mỗi dòng phải theo định dạng: 2 x [index] = [result]

Đầu vào sẽ là một số nguyên duy nhất, biểu thị số lần vòng lặp chạy.

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

2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6

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

2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10

Tự làm thử

# Đọc số lần lặp (iteration)
n = gets.to_i

# TODO: Viết code của bạn bên dưới
# Dùng vòng lặp (loop) times và chỉ số (index) của nó để in ra bảng nhân 2
# Định dạng: 2 x [index] = [result]
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