Cách tốt nhất để quản lý đường dẫn yêu cầu trong chương trình ruby là gì?Quản lý đường dẫn Ruby
Để tôi cho một ví dụ cơ bản, hãy xem xét một cấu trúc như:
\MyProgram
\MyProgram\src\myclass.rb
\MyProgram\test\mytest.rb
Nếu trong thử nghiệm của tôi tôi sử dụng require '../src/myclass'
sau đó tôi chỉ có thể gọi là thử nghiệm từ \MyProgram\test
thư mục, nhưng tôi muốn để có thể gọi nó là từ bất kỳ con đường nào!
Các giải pháp tôi đưa ra là xác định trong tất cả các nguồn tập tin dòng sau:
ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(ROOT)
và sau đó luôn luôn sử dụng require "#{ROOT}/src/myclass"
Có cách nào tốt hơn để làm điều đó?
Trong khi nó làm nức cột sống của tôi, đây là lựa chọn tốt nhất mà tôi đã nhìn thấy để thực hiện điều này _inside_ của ruby cho đến nay. – Matt
Đó là để nói, tôi thích nối thêm (không phải trước) đường dẫn đến đường dẫn ruby, vì bạn không vô tình dẫm lên thứ gì đó tồn tại trong các thư viện ruby chuẩn. – Matt
Bạn không có nghĩa là 'Tôi thích thêm (không phụ thêm)' thay vào đó? (Nói cách khác: bạn có thực sự muốn chắc chắn rằng công cụ của bạn được ưu tiên không?) Ví dụ ban đầu của tôi là '$: << newpath' đã được thêm vào, giờ đã sửa nó bằng 'unshift', như câu trả lời trước đó. Cảm ơn – inger