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

use*_*719 1 ruby sinatra

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

Ale*_*kin 5

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

Dir.entries("dir").each { |f| puts f }
# ? Makefile
# ? text.doc
# ? ...
Run Code Online (Sandbox Code Playgroud)

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

Dir.entries("dir").reject{ |e| e.start_with? '.' }.each { |f| puts f }
Run Code Online (Sandbox Code Playgroud)

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

希望能帮助到你.