Sự khác biệt giữa Kernel#require
và Kernel#load
là gì?
Sự khác biệt giữa Kernel#require
và Kernel#load
là gì?
Trong Ruby, Kernel#require
và Kernel#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:
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.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
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào