鑑於我有一個指向一個目錄的相對路徑,我如何將它與Ruby的路徑名或文件庫一起用來獲取目錄本身?使用Ruby路徑名訪問相對目錄
p = Pathname.new('dir/')
p.dirname => .
p.directory? => false
我已經試過 './dir/', 'DIR /', '目錄'。
我想要的是p.dirname返回'dir'。我不想指向'dir'中的另一個文件或目錄。
鑑於我有一個指向一個目錄的相對路徑,我如何將它與Ruby的路徑名或文件庫一起用來獲取目錄本身?使用Ruby路徑名訪問相對目錄
p = Pathname.new('dir/')
p.dirname => .
p.directory? => false
我已經試過 './dir/', 'DIR /', '目錄'。
我想要的是p.dirname返回'dir'。我不想指向'dir'中的另一個文件或目錄。
File.expand_path(FILE) => 「/ tmp目錄/ somefile」
文件。 dirname(File.expand_path(FILE)) =>「/ tmp」
'p.to_s'; 'p.basename.to_s' – PSkocik
顯然,我正在研究一個通用的解決方案,它也需要處理基本級別的目錄。在正常情況下,dirname工作正常(/ etc/dir/file =>/etc/dir),這就是我爲什麼要使用它的原因。 to_s和basename在這種情況下是沒有意義的。這個問題清楚地說明了我的目的,請不要低估並給出無關的答案。 – thisismydesign
你想用'dirname'來返回一些不是目錄名稱的東西嗎?你需要添加另一個層次,比如'p = Pathname.new('dir /。')'現在目錄名是「dir」 –