我的任务是编写一个存储过程,它将用户指定的公式作为参数,并使用公式上的表格进行计算。
这是为了能力测试的结果。测试分为多个部分,每个部分都分配有一个变量,例如。E1
和E2
。
现在每个部分都由带有分数的问题组成。例如。E1 = [1]+[2]-[3]+[4]+[5]+[6]
当[number]
指示问题编号时。
现在用户将指定一个类似上面的公式[1]+[2]-[3]+[4]+[5]+[6]
,我必须编写一个解析器,用该问题的分数替换问题编号。但是其中有一个障碍,因为一个部分可以参考另一部分的分数,例如。E2 = [7]+[8]+([6]-E1)+[9]
.
所以我需要编写一个解析器来解析字符串,用分数替换 [Number],如果它达到一个可变数字,首先计算部分分数,然后再继续。
我可以想象这将是一个递归函数,但任何人都可以帮助我找到正确的方向吗?
亲切的问候。