12 个版本 (6 个破坏性更新)
0.6.0 | 2020年5月5日 |
---|---|
0.5.3 | 2020年4月28日 |
0.4.1 | 2020年4月26日 |
0.3.0 | 2020年4月14日 |
0.0.2 | 2019年3月18日 |
#1049 在 过程宏
904 每月下载量
在 8 个crate中使用(通过 yarte_hir)
75KB
1.5K SLoC
v_eval
具有上下文的表达式评估器
use v_eval::{Value, Eval};
fn main() -> Result<(), ()> {
let e = Eval::default()
.insert("foo", "true")?
.insert("bar", "false")?;
assert_eq!(e.eval("foo != bar").unwrap(), Value::Bool(true));
assert_eq!(
e.eval("true && foo != bar && true").unwrap(),
Value::Bool(true)
);
assert_eq!(e.eval("1 == 1 != bar").unwrap(), Value::Bool(true));
assert_eq!(e.eval("1 == 1 + 1 == bar").unwrap(), Value::Bool(true));
Ok(())
}
贡献
请为 v_eval 贡献!越多越好!欢迎提出问题或建议,并直接与所有者联系。
行为准则
本行为准则改编自 贡献者公约,版本 1.4,可在 http://contributor-covenant.org/version/1/4 查找。
许可证
本项目根据 Apache 许可证(版本 2.0)和 MIT 许可证进行分发,具体见 LICENSE-APACHE 和 LICENSE-MIT。
依赖关系
~3.5–4.5MB
~88K SLoC