> The typical (and IIRC most efficient) idiom is to pass on the block > parameter: > > def foo(&b) > foo(&b) > end That looks nice and simple. Thanks! > > Another remark: it seems you are reinventing Find.find(). Why do you do > that? > As I said, the dir scanning was just an example of recursiveness. Still, I do need to scan a directory in a way that I get an array of files per each block call, and not one file at a time, because I want to compare the contents of a directory with other directory, in order to identify changed files, new files, deleted files, etc. Regards, Luis.