Ruby中遍历目录的简洁方法

在ruby中我们要实现遍历指定目录的方法,网上的方法也非常之多,我们可以拿来参考参考,如下边的traverse.rb文件内容所示:

代码如下:

#!/usr/bin/ruby 

def traverse(filepath)

    if File.directory?(filepath)

      puts "Dirs:" + filepath

      Dir.foreach(filepath) do |filename|

        if filename != "." and filename != ".."

          traverse(filepath + "/" + filename)

        end

      end

    else

      puts "Files:" + filepath

    end

  end

   

#traverse("d:/vmware")

traverse("/usr/local/src")

其实ruby中已经定义了Find.find方法来处理这种情况,上面的ruby程序可以用其方法来实现,代码显得更为整洁,如下所示:

代码如下:

#!/usr/bin/ruby 

require  'find'

Find.find("/usr/local/src") do |filename|

  p filename

end

相关推荐