Exemple #1
0
        public TMonad Evaluate(IContext <TMonad> context)
        {
            var c = ConditionExpr.Evaluate(context);

            return(Monad.Bind(c, BindC));

            TMonad BindC(object res)
            {
                return(res is bool b
                    ? (b ? TrueExpr.Evaluate(context) : FalseExpr.Evaluate(context))
                    : Monad.Unit);
            }
        }
 public double Evaluate(Dictionary <string, object> variables)
 {
     return(ConditionExpr.Evaluate(variables) ? LeftExpr.Evaluate(variables) : RightExpr.Evaluate(variables));
 }