FunIfElse.cs 789 B

123456789101112131415161718192021222324252627282930313233
  1. using IwbZero.Expr;
  2. using IwbZero.ToolCommon.StringModel;
  3. namespace WeEngine.Functions
  4. {
  5. public class FunIfElse: IFunction
  6. {
  7. public string Invoke(ExprObject exprObj)
  8. {
  9. var child = exprObj.GetChild(0);
  10. if (child.Expr.ValB())
  11. {
  12. var child2 = exprObj.GetChild(2);
  13. return ExprModule.Evaluate(child2.Expr);
  14. }
  15. ExprObject child3 = exprObj.GetChild(4), child4 = exprObj.GetChild(6);
  16. if (child4 == null)
  17. {
  18. return ExprModule.Evaluate(child3.Expr);
  19. }
  20. if(child3.Expr.ValB())
  21. {
  22. return ExprModule.Evaluate(child4.Expr);
  23. }
  24. return "TRUE";
  25. }
  26. }
  27. }