【问题标题】:From String to Function [closed]从字符串到函数[关闭]
【发布时间】: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))
  • 它仍然是相对“简单”的算术。如果您可以处理四个基本运算符(+-*/)和括号,那么很容易添加对更高级运算符的支持,包括“函数调用”。最大的问题是你是想自己实现它,还是想使用一个库来实现它。如果你想更通用,并且有可能将简单的算术扩展到带有语句等的简单脚本语言。

标签: c++ string function


【解决方案1】:

可以使用许多可能的方法将字符串转换为“函数”。其中许多涉及解析字符串并从中构建类似函数的对象。

使用 Arash Partow 开发的数学表达式库 ExprTk 是一种轻量级且可移植的解决方案。

主页包含各种使用示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-03
    • 1970-01-01
    • 1970-01-01
    • 2013-05-13
    • 1970-01-01
    相关资源
    最近更新 更多