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