I know this is a nub question, but the documentation on ruby is
terrible.
How do I loop through all of the files in a directory?
Thanks for your help.
···
--
Posted via http://www.ruby-forum.com/.
I know this is a nub question, but the documentation on ruby is
terrible.
How do I loop through all of the files in a directory?
Thanks for your help.
--
Posted via http://www.ruby-forum.com/.
Have a look at Find.find and Dir.each.
On 5/4/07, Ben Johnson <bjohnson@mediamanifest.com> wrote:
I know this is a nub question, but the documentation on ruby is
terrible.How do I loop through all of the files in a directory?
Thanks for your help.
--
Posted via http://www.ruby-forum.com/\.
harp:~ > ls dir
a b c
harp:~ > cat a.rb
class Dir
def self.ls dir, glob = File.join('**', '**'), &block
ret = unless block
Dir.glob(File.join(dir, glob)) do |entry|
block ? block.call(entry) : ret.push(entry)
end
ret
end
end
Dir.ls 'dir' do |entry|
puts entry
end
entries = Dir.ls 'dir'
p entries
harp:~ > ruby a.rb
dir/a
dir/b
dir/c
["dir/a", "dir/b", "dir/c"]
-a
On Sat, 5 May 2007, Ben Johnson wrote:
I know this is a nub question, but the documentation on ruby is
terrible.How do I loop through all of the files in a directory?
Thanks for your help.
--
Posted via http://www.ruby-forum.com/\.
--
be kind whenever possible... it is always possible.
- the dalai lama
def GetRecursiveFileList ( dirname )
results = Array.new
# both methods should work the same (I think one returns the directory
names in addition to the files)
use_method = 0
if use_method == 0
Dir["#{dirname}/**/**"].each do | thisfile |
thisfile.gsub! ( /\// , '\\' )
results.push ( thisfile )
end
else
require 'find'
Find.find ( dirname ) do | thisfile |
thisfile.gsub! ( /\// , '\\' )
results.push ( thisfile )
end
end
return results
end
On 5/4/07, ara.t.howard@noaa.gov <ara.t.howard@noaa.gov> wrote:
On Sat, 5 May 2007, Ben Johnson wrote:
> I know this is a nub question, but the documentation on ruby is
> terrible.
>
> How do I loop through all of the files in a directory?
>
> Thanks for your help.
>
> --
> Posted via http://www.ruby-forum.com/\.
>harp:~ > ls dir
a b charp:~ > cat a.rb
class Dir
def self.ls dir, glob = File.join('**', '**'), &block
ret = unless block
Dir.glob(File.join(dir, glob)) do |entry|
block ? block.call(entry) : ret.push(entry)
end
ret
end
endDir.ls 'dir' do |entry|
puts entry
endentries = Dir.ls 'dir'
p entriesharp:~ > ruby a.rb
dir/a
dir/b
dir/c
["dir/a", "dir/b", "dir/c"]-a
--
be kind whenever possible... it is always possible.
- the dalai lama