From: "Jesús Gabriel y Galán" Date: 2010-10-16T18:08:01+09:00 Subject: Re: Most elegant way: array of files from array of directories On Sat, Oct 16, 2010 at 6:50 AM, Terry Michaels wrote: > I have a array of directories passed into my program. I want a new array > which is a list of all files in said directories (only one level deep is > necessary). N.B.: > > 1. Each elements of the new array must be an absolute (full) path, or at > least relative to the cwd. (Assume all directories provided are also > absolute or relative to cwd) > 2. OS and preference agnostic: Especially, I do not know what directory > separator will be used (say, backward- or forward-slash) or whether > there will be a trailing directory separator in the directory path (say, > a trailing forward-slash). > > Dir.foreach almost does what I want, but gives relative output instead > of absolute. > > array_of_file_paths = Array.new > > array_of_directory_paths.each do |directory_path| >  # ??? > end > > -- > Posted via http://www.ruby-forum.com/. > > Probably not the most elegant way, but this can give you some ideas: irb(main):032:0> Dir["*"].each do |f| irb(main):033:1* next if test ?f,f # skip the files irb(main):034:1> puts Dir["#{f}/*"].map {|x| File.expand_path(x)} irb(main):035:1> end You can loop around this collecting the subarrays and then flatten. Jesus.