【发布时间】:2018-12-28 13:26:58
【问题描述】:
我想知道是否有办法将字符串转换为函数 em c++。例如,如果我有字符串:“x+y”,它会创建函数并通过替换 x 和 y,获取它的值。
在 Java 中有这个 API https://www.objecthunter.net/exp4j/index.html,所以我想知道是否有类似的东西。
【问题讨论】:
-
查找“tokenizing”、“lexing”和“parsing”。
-
对于简单算术的特定情况(例如
x + y),解析和解释这些表达式是一个常见的练习。只要稍微搜索一下,整个互联网都有解决方案和示例。 -
这是一个简单的例子,我可以有更复杂的表达式,例如:
(x + 10) * ((log(y) * 3) + (x^32)) -
它仍然是相对“简单”的算术。如果您可以处理四个基本运算符(
+、-、*和/)和括号,那么很容易添加对更高级运算符的支持,包括“函数调用”。最大的问题是你是想自己实现它,还是想使用一个库来实现它。如果你想更通用,并且有可能将简单的算术扩展到带有语句等的简单脚本语言。