コード例 #1
0
ファイル: PreFunctionValue.cs プロジェクト: iExpr/iExpr.Core
 public PreFunctionValue(string keyWord, Func <FunctionArgument, EvalContext, IExpr> calculate, int argsCount = -1, bool isselfCal = false, EvalContextStartupInfo contextInfo = default)
 {
     Keyword         = keyWord;
     ContextInfo     = contextInfo;
     EvaluateFunc    = calculate;
     ArgumentCount   = argsCount;
     IsSelfCalculate = isselfCal;
 }
コード例 #2
0
ファイル: Operator.cs プロジェクト: iExpr/iExpr.Core
 public Operator(string keyWord, Func <IExpr[], EvalContext, IExpr> calculate, Func <IExpr[], string> toexprString = null, double priority = 0, Association association = Association.Left, int quantityNumber = -1, uint[] selfCalculate = null, EvalContextStartupInfo contextInfo = default)
 {
     Keyword      = keyWord;
     EvaluateFunc = calculate;
     ContextInfo  = contextInfo;
     if (toexprString != null)
     {
         ToStringFunc = toexprString;
     }
     else
     {
         ToStringFunc = (IExpr[] args) => string.Join(Keyword, args.Select((IExpr exp) => Operator.BlockToString(exp)));
     }
     Priority      = priority;
     ArgumentCount = quantityNumber;
     Association   = association;
     SelfCalculate = selfCalculate;
 }