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

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

Câu trả lời

Trong Ruby, Kernel#requireKernel#load đều là phương thức để nạp các file mã nguồn Ruby, nhưng chúng có một số sự khác biệt quan trọng:

Sử dụng Kernel#require

  • require được sử dụng để nạp một file chỉ một lần. Ruby sẽ theo dõi các file đã được nạp thông qua require và không nạp lại file đó nếu phương thức được gọi lại với cùng một đường dẫn.
  • require tìm file dựa trên đường dẫn trong biến môi trường $LOAD_PATH hoặc đường dẫn tuyệt đối. Nếu không tìm thấy file trong $LOAD_PATH, bạn cần cung cấp đường dẫn tuyệt đối hoặc tương đối từ vị trí hiện tại của file đang được thực thi.
  • require thường được sử dụng để nạp các thư viện hoặc các file mã nguồn mà bạn không dự định sẽ thay đổi trong quá trình chạy chương trình.

Sử dụng Kernel#load

  • load sẽ nạp lại file mỗi lần nó được gọi, bất kể file đó đã được nạp trước đó hay chưa. Đ...
middle

middle

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

middle

Sự khác biệt giữa việc gọi Proclambda là gì?

senior

Sự khác biệt giữa BasicObject#instance_evalBasicObject#instance_exec là gì?

middle

Khi nào bạn sử dụng cú pháp do/end so với cú pháp sử dụng dấu ngoặc nhọn {} cho một block?

Bình luận

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

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