#math-parser #shunting #expression #parser #eval

thin-shunting

一个用于评估数学表达式的库

2个版本 (1个稳定版)

1.0.0 2021年12月13日
0.0.7 2020年11月13日

#147 in 解析工具

MIT 许可证

33KB
752

文档

一个用于评估数学表达式的库。

已发布版本

经过剪裁的 shunting 包的最新版本已推送到crates.io,名称为 thin-shunting

使用库

fn main() {
  let input = "sin(0.2)^2 + cos(0.2)^2";
  let expr = ShuntingParser::parse_str(input).unwrap();
  let result = MathContext::new().eval(&expr).unwrap();
  println!("{} = {}", expr, result);
}

MathContext

MathContext 允许在多次调用解析和评估时保持上下文。您可以通过 setvar 方法实现这一点。

致谢

这里的大部分工作都是由 Rodolfo Granata [email protected] 完成的,我只是对代码进行了简化并进行了清理。

依赖项

~520KB