在运行在 Node.js 上的科学包中,我需要执行用户提供的数学表达式,如“sin(2*PI*x)”。目前,它的实现类似于:// from input: s = "1+Math.sin(2*Math.PI*x)";...// regexp to verify "s" doesn't contains dangerous characters as '";...val f = new Function( 'x', s );...f(12);问题是用户必须键入Math.sin(3*x)而不是更简单的sin(3*x). 有没有办法跳过这个问题?如果不可能,我将寻找一个“替换”调用,该调用1+Math.sin(3*x)从1+sin(3*x).
添加回答
举报
0/150
提交
取消