Я пытаюсь перечислить все файлы в каталоге с помощью этой функции:
sub list-directory($dir = '.') {
my @todo = $dir.IO.dir;
@todo = @todo.duckmap( -> $_ where $_.d { @todo.push($_.IO.dir); } );
@todo = @todo.duckmap( -> $_ where IO {.Str} );
return @todo;
}
Первая карта утка - список всех подкаталогов, а вторая (это не заканчивается) - преобразованиеIO возражает против Str.
Кто-нибудь знает, почему второй не останавливается?