2013-09-07 52 views
6

Có rất nhiều chủ đề ở đây về điều này đã được tôi biết nhưng không ai trong số các tiêu đề này có từ này chính xác như tôi đã làm. Tôi hy vọng rằng chúng ta có thể làm rõ điều này một chút.

$:.unshift(File.expand_path("../../lib", __FILE__)) 

Bạn thấy điều gì đó giống như thế này trong rất nhiều mã Ruby. Ý kiến ​​khác nhau cho dù điều này là thích hợp hay không.

Chúng tôi có thể giải thích một chút cho từng bộ phận của nó không? Có thực sự là rất nhiều đang xảy ra ở đây. Tôi chỉ hiểu một phần của nó.

Trả lời

11

$: giữ Tải đường dẫn cho tập lệnh và mô-đun nhị phân bằng cách tải hoặc yêu cầu.. Và Array#unshift sẽ thêm đường dẫn mới vào $:. File#expand_pathChuyển đổi tên đường dẫn thành tên đường dẫn tuyệt đối.__FILE__ đã được trả lời ở đây What does __FILE__ mean in Ruby?.

+0

Cảm ơn bạn đã giải thích @Arup. –