Trong C và nhiều ngôn ngữ khác, có một từ khóa continue
, khi được sử dụng bên trong một vòng lặp, nhảy đến vòng lặp tiếp theo của vòng lặp. Có tương đương với từ khóa continue
này trong Ruby không?Tương đương với "tiếp tục" trong Ruby
Trả lời
Có, nó được gọi là next
.
for i in 0..5
if i < 2
next
end
puts "Value of local variable is #{i}"
end
này kết quả đầu ra như sau:
Value of local variable is 2
Value of local variable is 3
Value of local variable is 4
Value of local variable is 5
=> 0..5
Đây là cách tôi nhớ - Ruby tôn trọng Perl (' next') trên C ('tiếp tục') –
Bên cho-vòng và phương pháp lặp như each
và map
từ khóa next
trong ruby sẽ có tác dụng nhảy đến phiên bản kế tiếp của vòng lặp (giống như continue
trong C).
Tuy nhiên những gì nó thực sự làm là chỉ để trở về từ khối hiện tại. Vì vậy, bạn có thể sử dụng nó với bất kỳ phương thức nào cần một khối - ngay cả khi nó không liên quan gì đến việc lặp lại.
Tôi nghĩ nó được gọi là next.
next
cũng có, nhìn vào redo
mà redoes các hiện lặp.
... nguyên nhân ruby là rad như thế. –
Ruby có hai từ khóa điều khiển vòng lặp/lặp lại khác: redo
và retry
. Read more about them, and the difference between them, at Ruby QuickTips.
Viết Ian Purton's answer theo một cách hơi nhiều thành ngữ:
(1..5).each do |x|
next if x < 2
puts x
end
Prints:
2
3
4
5
- 1. Tương đương với bản tóm tắt của "tiếp tục"?
- 2. C# tương đương với Java tiếp tục <label>?
- 3. tương đương với chữ "có" của Ruby trong Ruby
- 4. C/C++ 'tiếp tục' Tương đương trong VB6
- 5. Pygame tương đương với Ruby?
- 6. Tương đương với Array.some trong ruby / rails
- 7. `if __name__ == '__main __'` tương đương trong Ruby
- 8. Ruby tương đương với Python cho/else
- 9. Ruby tương đương với $ của PHP $
- 10. metric_fu tương đương với ruby 1.9.x
- 11. PHP tương đương với biểu tượng Ruby
- 12. Python tương đương với Perl/Ruby || =
- 13. Ruby file_get_contents tương đương
- 14. ruby / ray tương đương với javascript decodeURIComponent?
- 15. Python tương đương với 'method_missing' của Ruby '
- 16. Tương đương với Python của các phép nối tiếp với Ruby
- 17. Có VB tương đương với các câu lệnh 'tiếp tục' và 'ngắt' của C# không?
- 18. tương đương với = ~ của ruby trong php là gì?
- 19. Tương đương với chuỗi kiểm tra của ruby () trong python
- 20. Ruby có tương đương với TimeSpan trong C# không?
- 21. Tương đương với Ruby Enumerable # each_slice trong Javascript?
- 22. Tương đương với Ruby method_missing trong mục tiêu C/iOS
- 23. Python tương đương với mỗi số_lice của Ruby (đếm)
- 24. Tương đương irb của Ruby trong Perl?
- 25. Mảng # xoay tương đương trong ruby 1.8.7
- 26. Tương đương "sys.stdout.write()" trong Ruby là gì?
- 27. Tương đương cURL cho Ruby?
- 28. Perl tương đương với 'từ chối' của Ruby?
- 29. JavaScript tương đương với "kiểm tra" của Ruby là gì?
- 30. Tương đương với Ruby cho StringReader của Java là gì?
tiếp tục không "khởi động lại" các vòng nhưng nhảy đến phiên bản kế tiếp của vòng lặp. –
@mlaw: Tôi đã chỉnh sửa câu hỏi của mình cho phù hợp để tránh nhầm lẫn trong tương lai. –
có thể trùng lặp của [Trong Ruby, làm thế nào để bỏ qua một vòng lặp trong một vòng lặp .each, tương tự như 'tiếp tục'] (http://stackoverflow.com/questions/4230322/in-ruby-how-do-i-skip -a-loop-in-a-each-loop-tương tự-tiếp tục) – dbr