Walk a directory/Recursively: Difference between revisions

Content added Content deleted
m (Added the Sidef language)
Line 1,691: Line 1,691:
walkDir(".", ".sd7");
walkDir(".", ".sd7");
end func;</lang>
end func;</lang>

=={{header|Sidef}}==
<lang ruby>func traverse(callback is Block, dir is Dir) {
dir.open(\var dir_h) || return;

dir_h.entries.each { |entry|
if (entry.is_a(Dir)) {
traverse(callback, entry);
};
callback(entry);
}
}

var dir = Dir.cwd;
var pattern = /\.mp3\z/;

traverse(
{ |file|
if (file ~~ pattern) {
say file;
}
} => dir
);</lang>


=={{header|Smalltalk}}==
=={{header|Smalltalk}}==