2016-11-21 9 views
8

रूबी में, मैं उपयोग कर सकते हैंElixir में किसी दिए गए निर्देशिका से फ़ाइलों का संग्रह कैसे वापस करें?

target_files = Dir["/some/dir/path/*.rb"] 
#=> ["/some/dir/path/foo.rb", "/some/dir/path/bar.rb", "/some/dir/path/baz.rb"] 

जो एक निर्देशिका में मिलान फ़ाइलों के सभी की एक सरणी वापस आ जाएगी। मैं एलिक्सीर में कुछ कैसे कर सकता हूं?

+1

यह भी है: http://www.ryandaigle.com/a/recursively-list-files-in-elixir। –

उत्तर

14

आप 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"] 
4

और अगर आप रिकर्सिवली एक regex के साथ फ़ाइलों को इकट्ठा करने के लिए चाहते हैं, तो :filelib.fold_files/5 है।

संबंधित मुद्दे