add result.nas
This commit is contained in:
parent
59dc0d1423
commit
418531a44a
|
@ -139,7 +139,8 @@ var math=
|
||||||
ln: func(x) {return __builtin_ln(x); },
|
ln: func(x) {return __builtin_ln(x); },
|
||||||
sqrt: func(x) {return __builtin_sqrt(x); },
|
sqrt: func(x) {return __builtin_sqrt(x); },
|
||||||
atan2: func(x,y){return __builtin_atan2(x,y);},
|
atan2: func(x,y){return __builtin_atan2(x,y);},
|
||||||
nan: func() {return 1/0-1/0; },
|
inf: 1/0,
|
||||||
|
nan: 1/0-1/0,
|
||||||
isnan: func(x) {return __builtin_isnan(x); }
|
isnan: func(x) {return __builtin_isnan(x); }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
|
||||||
|
import("lib.nas");
|
||||||
|
var ResultTrait={
|
||||||
|
Ok:func(val){
|
||||||
|
me.ok=val;
|
||||||
|
me.flag=0;
|
||||||
|
return me;
|
||||||
|
},
|
||||||
|
Err:func(info){
|
||||||
|
me.err=info;
|
||||||
|
me.flag=1;
|
||||||
|
return me;
|
||||||
|
},
|
||||||
|
unwrap:func(){
|
||||||
|
if(me.flag)
|
||||||
|
die("error: "~me.err);
|
||||||
|
return me.ok;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var Result=func(){
|
||||||
|
return{
|
||||||
|
ok:nil,
|
||||||
|
err:"",
|
||||||
|
flag:1,
|
||||||
|
parents:[ResultTrait]
|
||||||
|
};
|
||||||
|
};
|
|
@ -0,0 +1,39 @@
|
||||||
|
import("lib.nas");
|
||||||
|
|
||||||
|
var ResultTrait={
|
||||||
|
Ok:func(val){
|
||||||
|
me.ok=val;
|
||||||
|
me.flag=0;
|
||||||
|
return me;
|
||||||
|
},
|
||||||
|
Err:func(info){
|
||||||
|
me.err=info;
|
||||||
|
me.flag=1;
|
||||||
|
return me;
|
||||||
|
},
|
||||||
|
unwrap:func(){
|
||||||
|
if(me.flag)
|
||||||
|
die("error: "~me.err);
|
||||||
|
return me.ok;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var Result=func(){
|
||||||
|
return{
|
||||||
|
ok:nil,
|
||||||
|
err:"",
|
||||||
|
flag:1,
|
||||||
|
parents:[ResultTrait]
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
var a=func(){
|
||||||
|
return Result().Ok("hello world");
|
||||||
|
}
|
||||||
|
|
||||||
|
var b=func(){
|
||||||
|
return Result().Err("unknown");
|
||||||
|
}
|
||||||
|
|
||||||
|
println(a().unwrap());
|
||||||
|
b().unwrap();
|
Loading…
Reference in New Issue