我有一个程序循环遍历许多数据点,对每个数据点执行操作,并返回每个数据点的结果。说,
for(int i=1;i<LEN-1;++i)
result[i]=operate(userfunc,i);
在内部,我可以定义几个包含数据点各个邻居值的变量。
double operate(string userfunc, int i){
double next=data[i+1];
double prev=data[i-1];
double me=data[i];
userfunc(me,prev,next);
}
我想用户提供的输入字符串包含他们想要执行的数学运算以及他们想要使用的变量,例如:
0.5+me*min(prev,next)
我的问题是,是否存在一个便于解析用户输入的库。我目前的想法包括使用Boost.Spirit或一些正则表达式。但也许有一种更简单的方法。