我有一个程序,它遍历多个数据点,对每个数据点执行操作,并为每个数据点返回一个结果。说,
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 或一些正则表达式。但也许有更简单的方法。