コード例 #1
0
        public static CLBinaryOperator LoadBinaryPlus(int priority = 0, bool valOnLeft = true, bool valOnRight = true)
        {
            BinaryPlus = CLOperators.BinaryOperators.GetOrNull("+") ?? new CLBinaryOperator("+", priority, valOnLeft, valOnRight);
            BinaryPlus.AddFunction(tNum, tNum, BinPlusNumbers);
            BinaryPlus.AddFunction(tNum, tStr, (left, right, vars, context) => BinPlusStrings(NumToString(left), right, vars, context));
            BinaryPlus.AddFunction(tStr, tNum, (left, right, vars, context) => BinPlusStrings(left, NumToString(right), vars, context));
            BinaryPlus.AddFunction(tStr, tStr, BinPlusStrings);
            BinaryPlus.AddFunction(tVal, tLst, (left, right, vars, context) => BinPlusLists(ValToList(left), right, vars, context));
            BinaryPlus.AddFunction(tLst, tVal, (left, right, vars, context) => BinPlusLists(left, ValToList(right), vars, context));
            BinaryPlus.AddFunction(tLst, tLst, BinPlusLists);

            return(BinaryPlus);
        }
コード例 #2
0
 // Subtracts one value from another.
 public static CalcValue BinMinus(CalcObject left, CalcObject right, CLLocalStore vars, CLContextProvider context)
 {
     return(BinaryPlus.Run(left, PrefixMinus.Run(right, vars, context), vars, context));
 }