Vòng lặp while
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 40 trên 88.
Vòng lặp for rất hữu ích khi bạn biết chính xác cần lặp lại bao nhiêu lần. Nhưng nếu bạn muốn tiếp tục lặp cho đến khi một điều kiện thay đổi thì sao? Đó là lúc vòng lặp while phát huy tác dụng.
Vòng lặp while tiếp tục chạy miễn là điều kiện của nó vẫn đúng:
count = 1
while count <= 3
puts count
count += 1
endLệnh này in ra 1, 2 và 3. Vòng lặp kiểm tra điều kiện trước mỗi lần lặp. Khi count trở thành 4, điều kiện count <= 3 là sai và vòng lặp dừng lại.
Điểm khác biệt chính so với vòng lặp for là bạn kiểm soát thời điểm vòng lặp kết thúc bằng cách thay đổi một biến bên trong vòng lặp. Nếu quên cập nhật biến, vòng lặp sẽ chạy mãi mãi! Đây là ví dụ về đếm ngược:
num = 5
while num > 0
puts num
num -= 1
end
puts "Done!"Lệnh này đếm ngược từ 5 đến 1, sau đó in ra "Done!" khi vòng lặp kết thúc. Vòng lặp while đặc biệt hữu ích khi bạn chưa biết trước mình sẽ cần bao nhiêu lần lặp.
Thử thách
DễĐọc một số n từ đầu vào. Dùng vòng lặp while để in ra tất cả các số từ n giảm dần đến 1, mỗi số trên một dòng. Sau khi đếm ngược xong, in ra Blastoff! trên một dòng mới.
Đầu vào là một số nguyên duy nhất, biểu thị số bắt đầu đếm ngược.
Ví dụ, nếu đầu vào là 5, đầu ra sẽ là:
5
4
3
2
1
Blastoff!Tự làm thử
# Đọc số bắt đầu
n = gets.chomp.to_i
# TODO: Viết code của bạn bên dưới
# Dùng vòng lặp while để in ra các số từ n giảm dần đến 1
# Sau đó in ra chính xác văn bản trong hướng dẫnBà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
4Toán tử phần 2
Toán tử logic phần 1Toán tử logic phần 2Ôn tập: logic đơn giảnToán tử logic phần 3Toán tử logic phần 42Biến và kiểu dữ liệu
Số và biếnKiểu dữ liệu chuỗiKiểu dữ liệu BooleanKiểu dữ liệu SymbolKiểm tra kiểu dữ liệuQuy ước đặt tênÔn tập: tạo biến8Vòng lặp
Vòng lặp for với khoảng giá trịVòng lặp whileThoátTiếp tụcÔn tập: giai thừaVòng lặp timesVòng lặp untilVòng lặp lồng nhauÔn tập: đầu vào động3Toán tử phần 1
Toán tử số họcToán tử moduloPhép tính số học rút gọnÔn tập: Toán cơ bảnToán tử so sánh6Nhập xuất cơ bản
In ra bằng putsIn ra bằng print và pIn ra bằng biếnNhập dữ liệu bằng getsPhương thức chompChuyển đổi kiểu dữ liệuÔn tập: Tính tuổiÔn tập: Đúng hay sai9Phương thức
Định nghĩa phương thứcTham số phương thứcGiá trị trả vềÔn tập: phương thức SigmaÔn tập: phương thức xác thựcGiá trị tham số mặc định15Theo dõi chi tiêu hằng ngày
Tổng quan dự ánThoát chương trìnhTự luyện tập: Trình biên dịch Ruby online