1 module orelang.operator.IfOperator; 2 import orelang.operator.IOperator, 3 orelang.Engine, 4 orelang.Value; 5 6 class IfOperator : IOperator { 7 /** 8 * call 9 */ 10 public Value call(Engine engine, Value[] args) { 11 Value ret; 12 13 if (engine.eval(args[0]).getBool) { 14 ret = engine.eval(args[1]); 15 } else { 16 if (args.length != 3) { 17 ret = new Value; 18 } else { 19 ret = engine.eval(args[2]); 20 } 21 } 22 23 return ret; 24 } 25 }