【发布时间】:2014-06-25 19:19:06
【问题描述】:
我有以下用 Ruby 编写的递归函数,但是我发现该方法运行得太慢了。我不确定这是否是正确的方法,所以请建议如何提高此代码的性能。包括子目录在内的总文件数为 4,535,347
def start(directory)
Dir.foreach(directory) do |file|
next if file == '.' or file == '..'
full_file_path = "#{directory}/#{file}"
if File.directory?(full_file_path)
start(full_file_path)
elsif File.file?(full_file_path)
extract(full_file_path)
else
raise "Unexpected input type neither file nor folder"
end
end
【问题讨论】:
-
那个函数的目的是什么?我认为它可以用更具体的东西代替