- 主题:碰到一个难题了字符串转表达式
程序里面有lambda表达式,这个表达式诸如y=3+x, 其中这个3+x部分想让用户输入,用户也可以输入3*x等,然后把用户输入的字符串转为表达式,以便后续计算,之前c#有第三方库,python之类的也有eval函数(这个可能还不太一样,我不需要立即求值),c++没有找到类似的功能或者库。
各位有什么思路
--
修改:anything1999 FROM 124.64.16.*
FROM 124.64.16.*
AngelScript uses the common C/C++ datatypes for more efficient communication with the host application.
http://www.angelcode.com/angelscript/
--
FROM 222.129.205.*
你有木有刷过leetcode,这种表达式求值都有固定模板的。
--
FROM 158.140.1.*
表达式求值不都是用经典的逆波兰式么?操作符和操作数分解的清清楚楚。几十行代码的事。
【 在 anything1999 的大作中提到: 】
: 程序里面有lambda表达式,这个表达式诸如y=3+x, 其中这个3+x部分想让用户输入,用户也可以输入3*x等,然后把用户输入的字符串转为表达式,以便后续计算,之前c#有第三方库,python之类的也有eval函数(这个可能还不太一样,我不需要立即求值),c++没有找到类似的功能或者库。
: 各位有什么思路
: --
: ...................
--来自微微水木3.5.12
--
FROM 140.206.195.*
exprtk很香
【 在 anything1999 的大作中提到: 】
: 程序里面有lambda表达式,这个表达式诸如y=3+x, 其中这个3+x部分想让用户输入,用户也可以输入3*x等,然后把用户输入的字符串转为表达式,以便后续计算,之前c#有第三方库,python之类的也有eval函数(这个可能还不太一样,我不需要立即求值),c++没有找到类似的功能或者库。
:
: ..................
发自「今日水木 on 22041216C」
--
FROM 101.82.233.*
这样的库很多吧, 比如 muParser 、exprtk、GNU libmatheval
或者程序里嵌入个脚本解释器,python 、 perl 一类的。这也是很常见的操作。
【 在 anything1999 的大作中提到: 】
: 程序里面有lambda表达式,这个表达式诸如y=3+x, 其中这个3+x部分想让用户输入,用户也可以输入3*x等,然后把用户输入的字符串转为表达式,以便后续计算,之前c#有第三方库,python之类的也有eval函数(这个可能还不太一样,我不需要立即求值),c++没有找到类似的功能或者库。
: 各位有什么思路
--
修改:dormouseBHU FROM 220.166.238.*
FROM 220.166.238.*
看你的需求。简单的办法就在程序里调用Python呗,Python有C++对应的头文件和库。
【 在 anything1999 的大作中提到: 】
: 程序里面有lambda表达式,这个表达式诸如y=3+x, 其中这个3+x部分想让用户输入,用户也可以输入3*x等,然后把用户输入的字符串转为表达式,以便后续计算,之前c#有第三方库,python之类的也有eval函数(这个可能还不太一样,我不需要立即求值),c++没有找到类似的功能或者库。
: 各位有什么思路
--
FROM 58.33.81.*
expression template?
【 在 anything1999 的大作中提到: 】
: 程序里面有lambda表达式,这个表达式诸如y=3+x, 其中这个3+x部分想让用户输入,用户也可以输入3*x等,然后把用户输入的字符串转为表达式,以便后续计算,之前c#有第三方库,python之类的也有eval函数(这个可能还不太一样,我不需要立即求值),c++没有找到类似的功能或者库。
: 各位有什么思路
--
FROM 98.228.215.*
把这个表达式写到一个.c文件中,fork新的进城编译执行它,取得结果。
以上是十数年前,本老某个学期面对的最后一道C大作业题受挫时,给自己预备的的最后一招
【 在 anything1999 的大作中提到: 】
:
: 程序里面有lambda表达式,这个表达式诸如y=3+x, 其中这个3+x部分想让用户输入,用户也可以输入3*x等,然后把用户输入的字符串转为表达式,以便后续计算,之前c#有第三方库,python之类的也有eval函数(这个可能还不太一样,我不需要立即求值),c++没有找到类似的功能或者库。
: 各位有什么思路
--
FROM 119.114.248.*
看看C实现的basic源码
解释执行
看看怎么计算表达式的
或者混合一个lua脚本语言,想干啥干啥
【 在 anything1999 的大作中提到: 】
: 程序里面有lambda表达式,这个表达式诸如y=3+x, 其中这个3+x部分想让用户输入,用户也可以输入3*x等,然后把用户输入的字符串转为表达式,以便后续计算,之前c#有第三方库,python之类的也有eval函数(这个可能还不太一样,我不需要立即求值),c++没有找到类似的功能或者库。
: 各位有什么思路
--
FROM 65.49.38.*