Câu hỏi phỏng vấn Ruby
Câu hỏi

Giải thích sự khác biệt giữa việc sử dụng redoretry trong Ruby?

Câu trả lời

Trong Ruby, redoretry đề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:

Sử dụng 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.
  • Khi 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:

ruby Copy
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.

Sử dụng retry

  • retry được sử dụng để bắt đầu lại toàn bộ vòng lặp từ đầu, k...
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Giải thích về idiom a ||= b trong Ruby?"

middle

Sự khác biệt giữa throw/catchraise/rescue là gì?

senior

Một block có phải là một đối tượng không?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào