kh9n 2007-9-21 16:28
获得目录结构的小程序
自己写的一个简单的递归获得目录结构的小程序
目录保存在一个hash中,hash只有一对key-value,key的值是目录名,value是一个数组,数组中包含此目录的子目录(子目录也是一个hash,作为一个数组元素存在,普通文件作为数组的一个元素
没有仔细检查过,欢迎大家提出批评[code]class File_helper
def File_helper.get_folder_list(path,dirfilter,filefilter)
tree = {:start=>[]}
walktree(path,tree[:start],dirfilter,filefilter)
return tree
end
def File_helper.walktree(path,tree,dirfilter=nil,filefilter=nil)
i=0
tmppath = path+"/*"
Dir[tmppath].each do |f|
if File.file? f
if(!filefilter or f=~ /#{filefilter}/)
tree << f
i = i+1
end
end
if File.directory?(f ) and File.readable?(f) and (f =~ /.?/)==0 and (!dirfilter or f =~ /#{dirfilter}/)
tree << {f => []}
walktree(f,tree[i][f],dirfilter,filefilter)
i = i+1
end
end
end[/code]
blackanger 2007-9-23 12:04
欢迎大家展开讨论啊
cclong 2007-12-17 15:20
[code]Dir["**/*"].each {|file| puts file }[/code]
凑合~
antares_sco 2008-2-18 14:58
少了个end
antares_sco 2008-2-18 15:02
谁能告诉我怎么看结果吗?
antares_sco 2008-2-18 15:04
噢。。。看到了。。。。没注意4楼的代码。。呵呵
antares_sco 2008-2-18 15:34
还是看不懂。。。。。有请注释,谢谢