ฉันใช้ Ruby บน Windows แม้ว่าฉันจะไม่รู้ว่าควรสร้างความแตกต่างหรือไม่ สิ่งที่ฉันต้องการทำคือรับเส้นทางสัมบูรณ์ของไดเรกทอรีการทำงานปัจจุบัน เป็นไปได้จาก irb? เห็นได้ชัดจากสคริปต์ที่เป็นไปได้โดยใช้File.expand_path(__FILE__)
แต่จาก irb ฉันลองต่อไปนี้และได้รับข้อผิดพลาด "การอนุญาตถูกปฏิเสธ":
File.new(Dir.new(".").path).expand
File.expand_path(__FILE__)
" - เนื่องจาก__FILE__
ตำแหน่งของสัตว์แตกต่างจาก dir ที่ทำงานอยู่ในปัจจุบัน (ซึ่งก็คือDir.pwd
)
Dir.pwd
) หรือคุณต้องการไดเรกทอรีที่สคริปต์ที่กำลังทำงานอยู่ (ซึ่งคือFile.dirname(__FILE__)
) หรือไม่ ลองนึกภาพการเรียกสคริปต์จากที่อื่น (เช่นruby testdirectory/testscript.rb
) ที่นี่ทั้งสองจะแตกต่างกัน!