0
如果我以相對目錄作爲參數運行Find
模塊,則它返回的文件將是相對的。我能做任何事情來確保我總是擁有絕對的路徑嗎?如何確保Ruby的Find模塊始終返回絕對路徑?
require "find"
Find.find(dir) do |file|
# do I need to make it absolute myself? will File#extend_path be enough?
end
如果我以相對目錄作爲參數運行Find
模塊,則它返回的文件將是相對的。我能做任何事情來確保我總是擁有絕對的路徑嗎?如何確保Ruby的Find模塊始終返回絕對路徑?
require "find"
Find.find(dir) do |file|
# do I need to make it absolute myself? will File#extend_path be enough?
end
是的,expand_path會做到這一點。
require 'find'
Find.find(dir) {|file| puts File.expand_path(file)}
require 'find'
Find.find(File.expand_path(dir))
也似乎工作。
這實際上比我的解決方案更好,因爲它只調用一次expand_path,而不是每個文件調用一次。 – 2009-09-06 00:23:09