Next (continue)
Thuộc phần Kiến thức nền tảng trong hành trình R của Coddy. Bài học 41 trên 78.
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à tiếp tục với lần lặp tiếp theo. Câu lệnh next làm đúng điều đó.
for (i in 1:5) {
if (i == 3) {
next
}
print(i)
}Đầu ra:
[1] 1
[1] 2
[1] 4
[1] 5Khi i bằng 3, câu lệnh next bỏ qua phần còn lại của lần lặp đó, vì vậy 3 không bao giờ được in ra. Sau đó, vòng lặp tiếp tục với 4 và 5 như bình thường.
Điều này hữu ích khi bạn muốn lọc bỏ một số giá trị mà không dừng toàn bộ vòng lặp. Ví dụ: chỉ in ra các số chẵn:
for (num in 1:6) {
if (num %% 2 != 0) {
next
}
print(num)
}Đầu ra:
[1] 2
[1] 4
[1] 6Ở đây, chương trình bỏ qua các số lẻ bằng next và chỉ in ra các số chẵn. Điểm khác biệt chính so với break là vòng lặp vẫn tiếp tục chạy, chỉ bỏ qua một số lần lặp cụ thể.
Thử thách
DễĐọc một số n từ đầu vào. Dùng vòng lặp for để lặp từ 1 đến n và chỉ in ra các số không chia hết cho 4.
Dùng câu lệnh next để bỏ qua các số chia hết cho 4, rồi in ra tất cả các số còn lại bằng print().
Ví dụ, nếu đầu vào là 10, đầu ra sẽ là:
[1] 1
[1] 2
[1] 3
[1] 5
[1] 6
[1] 7
[1] 9
[1] 10Lưu ý rằng 4 và 8 bị bỏ qua vì chúng chia hết cho 4.
Tự làm thử
# Đọc đầu vào
con <- file("stdin", "r")
n <- as.integer(suppressWarnings(readLines(con, n = 1)))
# TODO: Viết code bên dưới
# Dùng vòng lặp for để lặp từ 1 đến n
# Dùng câu lệnh next để bỏ qua các số chia hết cho 4
# In ra tất cả các số còn lại bằng print()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
4Toán tử phần 2
Toán tử logic (AND, OR)Toán tử logic phần 2 (NOT)Ôn tập: logic đơn giảnLogic vector hóa phần 1Logic vector hóa phần 22Biến và kiểu dữ liệu
Kiểu dữ liệu sốKiểu dữ liệu số nguyênKiểu dữ liệu ký tựKiểu dữ liệu logicKiểm tra kiểu dữ liệuQuy tắc đặt tênGiá trị thiếu: NATóm tắt: tạo biến8Vòng lặp
Vòng lặp forVòng lặp whileBreakNext (continue)Ôn tập: giai thừaTạo dãy (seq, :)Vòng lặp lồng nhauÔn tập: đầu vào động3Toán tử phần 1
Toán tử số họcPhép chia lấy phần nguyên và phép moduloToán tử gánÔn tập: phép tính đơn giảnToán tử so sánh6Nhập xuất cơ bản
In đầu raDùng cat để in đầu raĐầu ra với biếnĐọc đầu vào bằng readline()Cơ bản về chuyển đổi kiểuÔn tập: máy tính tuổiÔn tập: đúng hay sai9Hàm
Khai báo hàmĐối số hàmGiá trị trả vềÔn tập: hàm SigmaÔn tập: hàm xác thựcGiá trị tham số mặc địnhTự luyện tập: Trình biên dịch R online