在neko中无法区分 1&&0 是否为真,但是在js中是可以自动包装转换的,所以在翻译的时候需要在翻译机置换用$istrue 和 $not 来包装语句。
翻译目标:
var a = 1;
var b = false;
var c = true;
var d = 0;
if(!b) {
console.log("!b is run \n");
}
if( a || d == false ) {
console.log("a || b == false is run \n");
}
console.log(a);
console.log("\n");
if( a && c) {
console.log("a && c is run \n");
}
翻译结果
var a = 1;
var b = false;
var c = true;
var d = 0;
if($not(b)){
$print ("!b is run \n")}
if($istrue(a)||$istrue(d==false)){
$print ("a || b == false is run \n")}
$print (a)
$print ("\n")
if($istrue(a)&&$istrue(c)){
$print ("a && c is run \n")}