2 个版本
0.1.4 | 2023年12月10日 |
---|---|
0.1.2 | 2023年12月9日 |
0.1.1 |
|
0.1.0 |
|
#24 in #expression-evaluator
每月 27 次下载
10KB
166 代码行
polishexpr
一个糟糕实现的波兰逆表达式求值器。
支持的功能列表如下
- 算术函数: +, -, *, /
- sin: 正弦
- cos: 余弦
- ln: 自然对数
- exp: 指数
- sqrt: 平方根
这些函数的参数可以是通常的常量,写成数字,也可以是变量,写成 $var_number ($0, 例如)。变量数字是变量向量的基于0的索引。
用法
- 求和 2+2 等于 4
let pe = PolishEvaluator::new("$0 2 +", &[2.0]);
let result = pe.evaluate()?;
assert_eq!(4f64, result);
- 计算 2 + 3 - 5
let pe = PolishEvaluator::new("$0 $1 + $3 -", &[2.0, 3.0, 5.0]);
let result = pe.evaluate()?;
assert_eq!(0f64, result);
lib.rs
:
PolishEvaluator
波兰表达式求值器的糟糕实现
逆波兰表示法(RPN)表达式求值器。支持的功能列表如下
- 算术函数: +, -, *, /
- sin: 正弦
- cos: 余弦
- ln: 自然对数
- exp: 指数
- sqrt: 平方根
这些函数的参数可以是通常的常量,写成数字,也可以是变量,写成 $var_number ($0, 例如)。变量数字是变量向量的基于0的索引。
示例
use polishexpr::PolishEvaluator;
let pe = PolishEvaluator::new("$0 $1 +", &[2.0, 2.0]);
let result = pe.evaluate().expect("get the sum result");
assert_eq!(4.0, result);