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 }