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); },
|
||||
sqrt: func(x) {return __builtin_sqrt(x); },
|
||||
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); }
|
||||
};
|
||||
|
||||
|
|
|
@ -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