在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 #traverse("d:/vmware") traverse("/usr/local/src")
本文出自 “抚琴煮酒” 博客,请务必保留此出处http://yuhongchun.blog.51cto.com/1604432/1601278
原文地址:http://yuhongchun.blog.51cto.com/1604432/1601278