2012-02-14 28 views
16

Có vẻ như không có bất kỳ ví dụ nào về mức sử dụng 'tiếp theo' trong control flow help page. Tôi muốn nó chuyển sang bước lặp tiếp theo dựa trên điều kiện bên trong tập lệnh.Sử dụng Tiếp theo trong Luồng điều khiển

Sử dụng ví dụ dưới đây, chúng ta hãy nói rằng tôi không muốn nó in, trừ khi x[i] > 5, sản lượng dự kiến ​​sẽ là 5 thông qua 10 trên màn hình:

x <- 1:100 
for(i in 1:10) { 
# next(x[i] < 5) # Just for conceptualizing my question. 
print(x[i]) 
} 

Làm thế nào tôi sẽ đi về thực hiện việc sử dụng next để thực hiện điều gì đó như những gì được hiển thị ở trên?

+0

Và câu hỏi của bạn là ....? –

+0

Yup, đã lâu rồi. –

+1

:) Biết cảm giác ... –

Trả lời

13

tôi sẽ cung cấp cho bạn một ví dụ hoàn chỉnh và một 'có' nhưng tôi không chắc chắn những gì câu hỏi của bạn là:

R> for (i in 1:10) { 
+  if (i < 5) next 
+  print(i) 
+ } 
[1] 5 
[1] 6 
[1] 7 
[1] 8 
[1] 9 
[1] 10 
R> 
9

Để thực hiện công việc này, bạn cần kiểm tra xem x < 5 và nếu có, hãy truy cập next. next sẽ lần lượt (để trích dẫn trang trợ giúp), "[tạm dừng] quá trình xử lý lặp hiện tại và [trước] chỉ số vòng lặp", bắt đầu trở lại vòng lặp lại.

x <- 1:100 
for(i in 1:10) { 
    if(x[i] < 5) next 
    print(x[i]) 
} 
[1] 5 
[1] 6 
[1] 7 
[1] 8 
[1] 9 
[1] 10 
Các vấn đề liên quan