Tiếp tục
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 42 trên 88.
Trong khi break thoát hoàn toàn khỏi vòng lặp, đôi khi bạn chỉ muốn bỏ qua lần lặp hiện tại và chuyển sang lần lặp tiếp theo. Từ khóa next thực hiện chính xác điều đó.
Khi Ruby gặp next, nó lập tức chuyển sang lần lặp tiếp theo của vòng lặp, bỏ qua mọi đoạn code còn lại trong lần lặp hiện tại:
for i in 1..5
if i == 3
next
end
puts i
endĐoạn code này in ra 1, 2, 4, 5. Khi i bằng 3, từ khóa next bỏ qua câu lệnh puts và chuyển thẳng sang lần lặp tiếp theo, khi đó i trở thành 4.
Một trường hợp sử dụng phổ biến là lọc bỏ các giá trị không mong muốn. Ví dụ, chỉ in ra các số chẵn:
for num in 1..6
if num % 2 != 0
next
end
puts num
end
# Đầu ra: 2, 4, 6Các số lẻ bị bỏ qua, chỉ các số chẵn được in ra. Hãy hiểu next là “bỏ qua số này và tiếp tục”, còn break là “dừng mọi thứ”.
Thử thách
DễĐọc hai số nguyên từ đầu vào:
- Một số
start - Một số
end
Lặp qua các số từ start đến end. Chỉ in ra những số không chia hết cho 3. Dùng next để bỏ qua các số chia hết cho 3.
In mỗi số trên một dòng riêng.
Ví dụ: nếu đầu vào là 1 và 10, đầu ra sẽ là:
1
2
4
5
7
8
10Nếu đầu vào là 5 và 9, đầu ra sẽ là:
5
7
8Tự làm thử
# Đọc đầu vào
start = gets.chomp.to_i
end_num = gets.chomp.to_i
# TODO: Viết code bên dưới
# Lặp qua các số từ start đến end_num
# Dùng next để bỏ qua các số chia hết cho 3
# In ra các số KHÔNG chia hết cho 3Bà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