Robert Klemme wrote:
> Jens Riedel wrote:
>> Hello,
>> 
>> I'm quite new to Ruby.
>> I'd to walk through a directory tree and edit all jsp files in there.
>> 
>> I do it this way:
>> 
>> def editDirectory(path)
>>      Dir.entries(path).each { |filename|
>>        next if filename =~ /^\.+$/
>>        currFile = path + "/" + filename
>>        if(File.stat(currFile).directory?)
>>          editDirectory(currFile)
>>        elsif(filename =~ /(.+)\.jsp$/)
>>          # ... do something with the file
>>        end
>>      }
>> end
>> 
>> I'd like to know if there is a more professional or more "ruby-like"
>> way to do this...
>> 
>> Thanx for every hint,
>> Jens
> 
> require 'find'
> 
> def edit_directory(dir)
>   Find::find(dir) do |f|
>     if /\.jsp$/i =~ f and File.file? f
>       # do something with f
>     end
>   end
> end
> 
> Kind regards
> 
>     robert

PS: You can also do

Dir["**/*.jsp"].each do |f|
  if File.file? f
    # do something with f
  end
end