Task

Walk a given directory and print the names of files matching a given pattern.

(How is "pattern" defined? substring match? DOS pattern? BASH pattern? ZSH pattern? Perl regular expression?)


Note: This task is for non-recursive methods.   These tasks should read a single directory, not an entire directory tree.

Note: Please be careful when running any code presented here.



Related task

   Walk Directory Tree   (read entire directory tree). 


use fmt;
use glob;
 
export fn main() void = {
	ls("/etc/*.conf");
};
 
fn ls(pattern: str) void = {
	let gen = glob::glob(pattern, glob::flags::NONE);
	defer glob::finish(&gen);
	for (true) match (glob::next(&gen)) {
	case void =>
		break;
	case glob::failure =>
		continue;
	case let s: str =>
		fmt::printfln("{}", s)!;
	};
};