我正试图使用evalexpr模块用条件来计算锈迹中的字符串。这将导致以下错误
线程“main”在
Err值上称为Result::unwrap():AppendedToLeafNode,src\main.rs:6:56
错误描述中写着https://docs.rs/evalexpr/5.0.5/evalexpr/error/enum.EvalexprError.html#variant.AppendedToLeafNode
试图将一个子节点附加到叶节点。叶节不能有子。
我无法理解为什么会发生这个错误。有人有线索吗?是否可以用Rust中的条件来计算字符串?
use evalexpr::*;
fn main() {
let evalstr = "let x = if input == 8 { 3 } else { 4 };";
let mut context = HashMapContext::new();
context.set_value("input".into(), 8.into()).unwrap();
eval_empty_with_context_mut(evalstr, &mut context).unwrap();
let val = context.get_value("x").unwrap();
println!("{}", val);
}发布于 2021-11-26 20:26:43
evalexpr不支持锈蚀语言,但使用它自己编写的语言:https://docs.rs/evalexpr/6.6.0/evalexpr/index.html#features
那个小语言还不支持条件词:https://github.com/ISibboI/evalexpr/issues/82
https://stackoverflow.com/questions/70129666
复制相似问题