解释器模式--Excel公式嵌套
来源:互联网 发布:淘宝朗丝香格里拉窗帘 编辑:程序博客网 时间:2024/05/29 18:39
.e.g. Excel formula =ROUND(SUM($A$1, 2),1)
classBaseExp
{
publicvirtualobject Evaluate(){ returnnull;}
}
classRangeExp:BaseExp
{
Range _range;
public RangeExp(Range range)
{
_range = range;
}
publicoverrideobject Evaluate()
{
return _range.Value;
}
}
classConstantExp:BaseExp
{
Object _constant;
public ConstantExp(Object constant)
{
_constant = constant;
}
publicoverrideobject Evaluate()
{
return _constant;
}
}
classRoundExp:BaseExp
{
BaseExp _numberExp;
BaseExp _digitExp;
publicRoundExp(BaseExp number, BaseExp digit)
{
_numberExp = number;
_digitExp = digit;
}
publicoverrideobject Evaluate()
{
returnMath.Round(_numberExp.Evaluate(), _digitExp.Evaluate());
}
}
classSumExp:BaseExp
{
List<BaseExp> _params = newList<BaseExp>();
public SumExp(param BaseExp[] args)
{
foreach(BaseExp exp in args)
{
_params.Add(exp);
}
}
public SumExp(Range range)
{
//loop for each single cell in range
foreach(Range cell in totalCellList)
{
_params.Add(new RangeExp(cell));
}
}
publicoverrideobject Evaluate()
{
double total = 0;
foreach(BaseExp exp in _params)
{
total += (double)exp.Evaluate();
}
return total;
}
}
适合有多种解析方式且任意一个解释方式又可以被其他解析方式引用。
- 解释器模式--Excel公式嵌套
- excel公式和解释(已使用)
- 公式解释器 FormulaAbacus 1.0
- Excel隐藏或显示公式(Show Formulas)(公式审核模式)
- 公式解释
- 装饰器模式公式
- 基于JavaScript的公式解释器 - 12 【公式解析器】
- Excel公式
- excel公式
- EXCEL公式
- Excel 公式
- Excel 公式
- excel公式
- excel公式
- 转:【Excel技巧】Excel公式的错误值解释:# N/A!、#VALUE!、#DIV/O!#NUM!、#NULL!
- 【Excel技巧】Excel公式的错误值解释:# N/A!、#VALUE!、#DIV/O!#NUM!、#NULL!
- Bayes公式解释
- 【Excel公式】常用公式详解
- FrameLayout
- 玲珑Round #7-1071 - Boring Game
- pat-bl-1028
- Multi-view Convolutional Neural Networks for 3D Shape Recognition
- Android音视频学习第1章:使用ffmpeg进行视频解码
- 解释器模式--Excel公式嵌套
- 性能测试2-性能测试流程
- Rxjava2.0和Retrofit简单封装使用
- hermite曲线
- jmap -histo ,jmap dumpfile, jstack
- 当你自己决定的时候
- 营养的源泉-android
- 51单片机数码管动态显示
- Python高阶函数——map/reduce/filter/sorted