Skip to content

Getting Started

Stardust D.L edited this page Jan 15, 2018 · 2 revisions

依赖项

  • .Net Standard 2.0
  • System.Tuple

安装

iExpr.Core 发布到 NuGet.

PM> Install-Package iExpr.Core

使用

关于 iExpr.Core 的类库结构请见 API接口

定义运算符和预定义函数

实现可参见 iExpr.Exprs 中数学表达式部分的实现。 Link

构建解析环境

实现 iExpr.Parsers.ParseEnvironment 作为自定义的解析环境。一般步骤是将自己定义的运算符和函数等添加到环境中。

实现可参见 iExpr.Exprs 中数学表达式部分的实现,其包含了常用的数学运算符,函数以及数学常数。 Link

构建运算环境

实现 iExpr.Evaluators.EvalEnvironment 作为自定义的解析环境。最简单的情况是直接使用 iExpr.Core 自带的运算器进行运算(Link),当需要更深层次的定制时,需要重写一些函数,如数学表达式部分的实现

解析并运算

使用以下代码:

ParseEnvironment ep = new YourParseEnvironment();
EvalEnvironment ep = new YourEvalEnvironment();

//iExpr.Core 自带的解析器,根据ParseEnvironment进行解析
ExprBuilder eb = new ExprBuilder(ep);

var buildedExpr = eb.GetExpr(exprString);
var context = ev.CreateContext().GetChild();
var evaluatedExpr=context.Evaluate(buildedExpr);

最后得到的 evaluatedExpr 是一个 IExpr 对象作为计算结果。

Clone this wiki locally