8
在Ruby中,我可以使用如何从Elixir的给定目录中返回一组文件?
target_files = Dir["/some/dir/path/*.rb"]
#=> ["/some/dir/path/foo.rb", "/some/dir/path/bar.rb", "/some/dir/path/baz.rb"]
将返回所有匹配的文件数组中的目录。我如何在Elixir中做类似的事情?
在Ruby中,我可以使用如何从Elixir的给定目录中返回一组文件?
target_files = Dir["/some/dir/path/*.rb"]
#=> ["/some/dir/path/foo.rb", "/some/dir/path/bar.rb", "/some/dir/path/baz.rb"]
将返回所有匹配的文件数组中的目录。我如何在Elixir中做类似的事情?
您正在寻找Path.wildcard/2
:
iex(1)> Path.wildcard("/tmp/some/dir/path/*.rb")
["/tmp/some/dir/path/bar.rb", "/tmp/some/dir/path/baz.rb",
"/tmp/some/dir/path/foo.rb"]
iex(2)> Path.wildcard("/tmp/**/*b*.rb")
["/tmp/some/dir/path/bar.rb", "/tmp/some/dir/path/baz.rb"]
如果你想递归收集文件与一个正则表达式,有:filelib.fold_files/5
。
还有:http://www.ryandaigle.com/a/recursively-list-files-in-elixir。 –