获取目录中每个文件的相对路径

时间:2014-10-27 07:55:01

标签: ruby sinatra

如何获取某个目录中每个文件的相对路径?如果我使用Dir["path/to/folder/*"],它会输出整个路径。

1 个答案:

答案 0 :(得分:5)

Dir#entries可能就是你要找的东西:

Dir.entries("dir").each { |f| puts f }
# ⇒ Makefile
# ⇒ text.doc
# ⇒ ...

请注意,结果可能包含...。为了防止结果中出现这些内容,您可能希望使用Array#reject(对@iain的信用,该代码段将过滤* nices上的所有隐藏文件):

Dir.entries("dir").reject{ |e| e.start_with? '.' }.each { |f| puts f }

在执行glob之前,其他选项是Dir#chdir

希望它有所帮助。