我正在创建允许用户执行数学运算的在线计算器。在核心,我使用 math.js 评估器来获取操作结果。
目前,用户可以在命令行中逐个键入操作,但我的想法的下一步应该允许用户在某些文本区域或不同的编辑器中编写几行 javascript(或自定义语法)代码,然后评估整个输入。问题是 math.js eval 无法处理这个问题,但是,它允许通过自定义函数扩展内置功能。
有没有办法扩展库来处理 for/if/switch 语句?或者也许我应该考虑一些不同的方法(解析每一行并检查特定的语句名称?我应该用括号做什么?)。
有没有人执行过类似的问题?有什么建议我可以如何处理这个问题?