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

Khi nào bạn có thể gặp phải lỗi LocalJumpError?

Câu trả lời

Trong Ruby, lỗi LocalJumpError thường xảy ra khi có một sự không phù hợp trong việc sử dụng khối (block) hoặc khi cố gắng thực hiện một hành động không hợp lệ liên quan đến khối. Dưới đây là một số tình huống cụ thể khi bạn có thể gặp phải lỗi này:

  • Gọi yield mà không có khối: Khi bạn sử dụng yield trong một phương thức nhưng không truyền khối khi gọi phương thức đó, Ruby sẽ ném ra LocalJumpError vì nó không biết phải thực thi khối nào.

    def my_method
      yield
    end
    
    my_method # => LocalJumpError: no block given (yield)
  • Sử dụng return không đúng cách trong Proc: Khi bạn sử dụng từ khóa return trong một Proc (không phải lambda) để trả về từ phương thức bao quanh, và Proc này được gọi từ một ngữ cảnh khác (không phải là ngữ cảnh mà nó được định nghĩa), bạn cũng có thể gặp `...

senior

senior

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

middle

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

senior

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

middle

Sự khác biệt giữa Kernel#requireKernel#load là gì?

Bình luận

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

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