Tôi có một mã Ruby với các lớp khác nhau trong một vài tệp. Trong một tệp, tôi bắt đầu thực hiện. Tệp này require
của các tệp khác của tôi.Ruby yêu cầu đường dẫn
- Đây có phải là cách hay để bắt đầu mã ruby không?
- Khi tôi chạy mã từ liên kết tượng trưng, ví dụ
DIR2/MyRubyCode
là liên kết đến tệp chínhDIR1/MyRubyCode.rb
, thì yêu cầu của tôi sẽ không thành công. Tôi giải quyết vấn đề bằng cách thêm đường dẫnDIR1
đến$LOAD_PATH
trướcrequire
, nhưng tôi nghĩ sẽ có nhiều cách tốt hơn để thực hiện điều đó. Bạn có bất cứ đề nghị về điều đó?
Cảm ơn nhưng nếu tôi yêu cầu với File.dirname (__ FILE__), khi tôi khởi chạy mã bằng bí danh, nó cũng cố gắng bao gồm từ '.' và tôi vẫn gặp lỗi 'không tải tệp như vậy'. –
Đó là chính xác. Bạn sẽ phải lấy mục tiêu của liên kết tượng trưng (nó sẽ thay thế cho 'File.dirname()'). Hãy xem bài đăng này để biết một số cách làm khác nhau: http://stackoverflow.com/questions/1237939/ruby-how-do-i-get-the-target-of-a-symlink –
Cảm ơn. Nó hoạt động tốt với '$ LOAD_PATH << File.dirname (Pathname.new (File.expand_path (__ FILE __)). Realpath.to_s) .to_s'. –