我正在使用Dir.glob来访问与通配符模式匹配的所有文件集。
因为这个glob调用是递归的,并且涉及到大量文件,所以在块开始之前,glob需要很长时间来构建文件数组。
我希望的是一种访问所有相同文件的方法,但是在Ruby“发现”每个文件后立即调用块,这样第一个文件会立即被处理,而不是等待整个目录树搜索完毕后才开始处理。
是否有这样的构造方式?
Dir.glob( '**/*.txt' ) { |file_name|
parse file_name
}
因为这个glob调用是递归的,并且涉及到大量文件,所以在块开始之前,glob需要很长时间来构建文件数组。
我希望的是一种访问所有相同文件的方法,但是在Ruby“发现”每个文件后立即调用块,这样第一个文件会立即被处理,而不是等待整个目录树搜索完毕后才开始处理。
是否有这样的构造方式?
Dir.foreach
并在块中使用模式?Find 模块也可能有用。 - squiguy