add unix.isdir and unix.isfile

This commit is contained in:
ValKmjolnir
2021-11-15 22:47:52 +08:00
parent b67cd85cb4
commit e1d5ab2da5
6 changed files with 35 additions and 7 deletions
+26 -2
View File
@@ -7,6 +7,30 @@ io.close(fd);
println(io.stat("test/filesystem.nas"));
var dd=unix.opendir("test");
while((var name=unix.readdir(dd))!=nil)
while(var name=unix.readdir(dd))
println(name);
unix.closedir(dd);
unix.closedir(dd);
var files=func(dir){
var dd=unix.opendir(dir);
var res=[];
while(var n=unix.readdir(dd))
append(res,n);
unix.closedir(dd);
return res;
}
var prt=func(s,path){
foreach(var i;files(path)){
print(s,i);
if(unix.isdir(path~'/'~i)){
print(' <dir>\n');
if(i!='.' and i!='..')
prt(s~' |',path~'/'~i);
}
elsif(unix.isfile(path~'/'~i))
print(" <file>\n");
else
print(' <unknown>\n');
}
}
prt('',".");