在運行在 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).
Node.js:使用 Math 方法而不引用模塊
手掌心
2021-06-28 04:56:21