我想知道是否有人有关于如何做一些听起来很简单但在尝试编程时看起来并不像的事情的信息或经验。
这个想法是:给出一个包含方程的字符串,例如:“2*x = 10”(这很简单,但它可能会变得非常复杂,例如 sqrt(54)*35=x^2; 等等on....),程序将返回 x = 5,并可能给出他如何到达那里的日志。
这可行吗?如果是这样,有人有线索吗?有关信息,请访问此网站(http://www.numberempire.com/equationsolver.php http://www.numberempire.com/equationsolver.php)它在 PHP 中做同样的事情,但不是开源的。
谢谢你的帮助 !
这就是所谓的“解析”,尽管计算机科学已经解决了这个问题,但在你彻底理解它之前,它一点也不简单。有一个完整的计算机科学学科描述了如何解决这个问题。在 C 中,您必须定义输入的语法(可能包含优先级规则),然后执行词法分析根据您的输入,然后parse结果并最终评估你的解析树。
然而,在 Ruby 这样的语言中,因为您对字符串操作有如此彻底的支持,并且因为您有如此强大的运行时能力,所以您可以用一行代码解决您的问题,如下所示:
puts(eval($_)) while gets
是的,这将涵盖比您要求的更多的内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)