Giải thích sự khác biệt giữa việc sử dụng redo
và retry
trong Ruby?
Giải thích sự khác biệt giữa việc sử dụng redo
và retry
trong Ruby?
Trong Ruby, redo
và retry
đều là các từ khóa được sử dụng để kiểm soát luồng của vòng lặp, nhưng chúng có chức năng khác nhau:
redo
redo
được sử dụng để bắt đầu lại lần lặp hiện tại của vòng lặp mà không kiểm tra điều kiện vòng lặp và không lấy phần tử lặp tiếp theo.redo
được gọi, mã trong vòng lặp sẽ được thực thi lại từ đầu với cùng một giá trị hoặc trạng thái mà nó có trước khi redo
được gọi.redo
thường được sử dụng khi bạn muốn thực hiện lại một lần lặp với cùng một giá trị do một điều kiện cụ thể không được thỏa mãn.Ví dụ sử dụng redo
:
5.times do |i|
puts "Lần lặp: #{i}"
if i == 2
puts "Redo lần lặp #{i}"
redo
end
end
Trong ví dụ trên, khi i
bằng 2, redo
sẽ được gọi và lần lặp số 2 sẽ được thực hiện lại từ đầu.
retry
retry
được sử dụng để bắt đầu lại toàn bộ vòng lặp từ đầu, k...middle
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào