您好!您的问题是关于使用 Ruby 以递归方式在目录中运行文件。以下是我的回答:
在 Ruby 中,要以递归方式在目录中运行文件,可以使用 Dir 类和 File 类。以下是一个示例代码:
require 'fileutils'
def run_files_in_directory(directory)
Dir.foreach(directory) do |file|
next if file == '.' or file == '..'
path = File.join(directory, file)
if File.directory?(path)
run_files_in_directory(path)
else
if File.extname(path) == '.rb'
puts "Running file: #{path}"
load path
end
end
end
end
run_files_in_directory('/path/to/directory')
这个代码会递归地遍历指定目录中的所有文件和子目录,并在遇到 Ruby 文件时运行它们。请注意,这个代码仅适用于 Ruby 文件,如果您需要运行其他类型的文件,您需要修改代码以处理这些文件。
在这个示例中,我们使用了 Dir 类的 foreach 方法来遍历目录中的所有文件和子目录。我们还使用了 File 类的 join 方法来构建文件路径,以及 extname 方法来获取文件扩展名。最后,我们使用了 Kernel 模块的 load 方法来运行 Ruby 文件。
希望这个回答能够帮助您解决问题。如果您有其他问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云