🚀 add new stl file `padding.nas` and update test files.

This commit is contained in:
ValKmjolnir 2022-09-04 17:53:00 +08:00
parent 5715c1df5f
commit 6c04487319
5 changed files with 128 additions and 101 deletions

16
stl/padding.nas Normal file
View File

@ -0,0 +1,16 @@
# padding.nas
# ValKmjolnir 2022/9/4
var leftpad=func(str,len,char=" "){
var strlen=size(str);
for(var i=strlen;i<len;i+=1)
str=char~str;
return str;
}
var rightpad=func(str,len,char=" "){
var strlen=size(str);
for(var i=strlen;i<len;i+=1)
str~=char;
return str;
}

View File

@ -1,29 +1,23 @@
# result.nas
# ValKmjolnir 2021
var ResultTrait={
var Result=func(){
var (ok,err,flag)=(nil,"",1);
return{
Ok:func(val){
me.ok=val;
me.flag=0;
ok=val;
flag=0;
return me;
},
Err:func(info){
me.err=info;
me.flag=1;
err=info;
flag=1;
return me;
},
unwrap:func(){
if(me.flag)
die(me.err);
return me.ok;
if(flag)
die(err);
return ok;
}
};
var Result=func(){
return{
ok:nil,
err:"",
flag:1,
parents:[ResultTrait]
};
};

View File

@ -1,3 +1,5 @@
import.stl.padding;
var source=[
"main.cpp",
"nasal_ast.h",
@ -21,6 +23,7 @@ var lib=[
"list.nas",
"log.nas",
"module.nas",
"padding.nas",
"process_bar.nas",
"queue.nas",
"result.nas",
@ -84,6 +87,14 @@ var module=[
"libsock.nas"
];
var longest=func(vec...){
var len=0;
foreach(var v;vec)
foreach(var f;v)
len=size(f)>len?size(f):len;
return len;
}
var getname=func(s){
var (len,ch)=(size(s),' '[0]);
for(var i=0;i<len and s[i]!=ch;i+=1);
@ -100,10 +111,12 @@ var count=func(s,c){
var calc=func(codetype,files,path=""){
println(codetype);
var (bytes,line,semi,line_cnt,semi_cnt)=(0,0,0,0,0);
var padding_length=longest(source,lib,testfile,module);
forindex(var i;files){
var s=io.fin(getname(path~files[i]));
(line_cnt,semi_cnt)=(count(s,'\n'),count(s,';'));
println(files[i],'| ',line_cnt,'\tline | ',semi_cnt,' \tsemi');
println(rightpad(files[i],padding_length),
'| ',line_cnt,'\tline | ',semi_cnt,' \tsemi');
bytes+=size(s);
line+=line_cnt;
semi+=semi_cnt;
@ -113,5 +126,8 @@ var calc=func(codetype,files,path=""){
return int(bytes/1024);
}
var all=calc("source code:",source)+calc("lib:",lib,"stl/")+calc("test file:",testfile,"test/")+calc("module:",module,"module/");
var all=calc("source code:",source)
+calc("lib:",lib,"stl/")
+calc("test file:",testfile,"test/")
+calc("module:",module,"module/");
println('\ntotal: | ',all,'\tkb');

View File

@ -35,6 +35,7 @@ var filechecksum=func(){
"./stl/fg_env.nas", "./stl/file.nas",
"./stl/lib.nas", "./stl/list.nas",
"./stl/log.nas", "./stl/module.nas",
"./stl/padding.nas",
"./stl/process_bar.nas", "./stl/queue.nas",
"./stl/result.nas", "./stl/sort.nas",
"./stl/stack.nas", "./test/ascii-art.nas",

View File

@ -50,10 +50,10 @@ func(){
var bar=process_bar.bar("block","point","line",25);
if(key!=nil and chr(key)=="q")
break;
println("\e[1;1H Memory total(GB) : \e[36m",mem.MemTotal/1024/1024,"\e[0m");
println("\e[2;1H Memory free(GB) : \e[36m",mem.MemFree/1024/1024,"\e[0m");
println("\e[3;1H Memory occupation(%): ",mem_occ>60?"\e[91m":"\e[32m",bar.bar(mem_occ/100)~" ",mem_occ,"\e[0m ");
println("\e[4;1H CPU occupation(%) : ",cpu_occ>90?"\e[91m":"\e[32m",bar.bar(cpu_occ/100)~" ",cpu_occ,"\e[0m ");
println("\e[1;1H\e[1m Memory total(GB) : \e[0m\e[36m",mem.MemTotal/1024/1024,"\e[0m");
println("\e[2;1H\e[1m Memory free(GB) : \e[0m\e[36m",mem.MemFree/1024/1024,"\e[0m");
println("\e[3;1H\e[1m Memory occupation(%): \e[0m",mem_occ>60?"\e[91m":"\e[32m",bar.bar(mem_occ/100)~" ",mem_occ,"\e[0m ");
println("\e[4;1H\e[1m CPU occupation(%) : \e[0m",cpu_occ>90?"\e[91m":"\e[32m",bar.bar(cpu_occ/100)~" ",cpu_occ,"\e[0m ");
println("\e[5;1H Press 'q' to quit.");
}
}();